// var arr = [124,2154,677,214,7,2,82,25,79]
// console.log(fixArr(arr))
console.log(fixArr(arr));
//打乱数组
function fixArr(arr){
// 定义一个新的数组来装 从旧数组中获取的元素
var arrLoad = [];
// 定义获取数组时的长度
var length = arr.length;
// 循环刚获取数组的长度的次数
for (var i=0;i<length;i++) {
// 定义一个获取数组长度内的随机数,这里因为下面的spice删除操作,
// 必须用arr.length来进行更新数组长度的变化,如果使用获取时的
// 固定长度,那么有可能获取到undefined,就是数组已经被删除的元素的位置
var ran = randomMax_Min(arr.length,0);
// 把获取到的数组内的元素加到新的数组来
arrLoad.push(arr[ran]);
// 获取完后进行删除操作,删除从第ran个开始,删除一个
arr.splice(ran,1);
}
// 返回新的数组
return arrLoad;
}
function randomMax_Min(max,min){
// 如果最小值为空,则返回0
min = min ||0;
// 对随机数的范围进行四舍五入取整
return Math.round(min+Math.random()*(max-min));
}
打乱数组
猜你喜欢
转载自blog.csdn.net/qq_36245035/article/details/80561473
今日推荐
周排行