function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) +min); } function shuffle(arr) { for (let i = 0; i < arr.length; i++) { let temp = getRandom(0, i); let t = arr[i]; arr[i] = arr[temp]; arr[temp] = t; } return arr; } let arr = []; for (var i = 0; i <= 10; i++) { arr[i] = i; } console.log(shuffle(arr));
es6的实现
1 2 3 4 5 6 7
functionshuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math.random() * i--); [arr[j], arr[i]] = [arr[i], arr[j]]; } }