思路
- 循环数组
- 随机获取数组下标
- 取值:
- 取当前随机下标数组
- 取当前循环的下标数组
- 相互替换步骤3的数组
/*** 随机数组顺序* @param {Array} arr 数组* @returns Array*/
const shufArr = arr => {for (let i = arr.length - 1; i > 0; i--) {const j = Math.floor(Math.random() * (i + 1));[arr[i], arr[j]] = [arr[j], arr[i]];}return arr
}console.log(shufArr([1, 2, 3, 4, 5])); // [ 5, 1, 2, 3, 4 ]