/**
* 数组无序
* 简单算法
* @param arr
*/
const easyMethod = function (arr) {
return arr.slice().sort(() => {
return Math.random() - 0.5
})
}
/**
* 数组无序
* 洗牌算法
* @param arr
* @returns {*}
*/
const shuffle = function (arr) {
let newArr = Array.prototype.slice.call(arr), // copy 新数组
temp = 0
for (let i = arr.length - 1; i > 0; i--) {
temp = Math.floor(Math.random() * i);
[newArr[i], newArr[temp]] = [newArr[temp], newArr[i]];
}
return newArr
}
let arr = [4, 5, 621, 1, 5, 34, 3, 67, 23, 32, 4234]
let newArr = shuffle(arr)
console.log(arr, newArr)
JS数组乱序实现两种方式
最新推荐文章于 2024-04-18 14:58:15 发布