function randomOrder (targetArray) {
var arrayLength = targetArray.length; //目标数组的长度
var tempArray1 = new Array(); //先创建一个正常顺序的数组
for (var i = 0; i < arrayLength; i ++) { //将目标数组的元素赋于数组tempArray1
tempArray1 [i] = i;
}
//再根据上一个数组创建一个随机乱序的数组
var tempArray2 = new Array();
for (var i = 0; i < arrayLength; i ++) {
tempArray2 [i] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1); //从正常顺序数组中随机抽出元素
}
//最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据
var tempArray3 = new Array();
for (var i = 0; i < arrayLength; i ++) {
tempArray3 [i] = targetArray [tempArray2 [i]];
}
return tempArray3; //返回最后得出的数组
}
时间: 2024-10-29 19:11:17