<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>1からNまでの整数をランダムに並び替える</title> </head> <body> <h1>1からNまでの整数をランダムに並び替える</h1> <p>並び替えたい数の最大値を入力してください: <input type="text" name="max" id="max" value="0" /> <input type="button" value="決定" onclick="getMax();" /></p> <p><input type="button" value="並び替える" onclick="randOrder();"/></p> <p>並び替え前: <span id="before"></span></p> <p>並び替え後: <span id="after"></span></p> <script> var before; var after; function getMax(){ var max = document.getElementById('max').value; before = new Array(max); after = new Array(max); for(var i=0;i<max;i++) { before[i] = i+1; } document.getElementById('before').innerHTML = before; } function randOrder() { var j = 0; while(before.length > 0) { var r = Math.floor(Math.random() * before.length); after[j] = before[r]; before.splice(r,1); j++; } document.getElementById('after').innerHTML = after; } </script> </body> </html>