先写两个数组排序的方法:
reverse():逆序
sort():升序或降序
=================================
1、数组无序重排
var arr = [1,2,3,4,5,6];
// 数组无序重排
function resetFun(arr){
var len = arr.length,
randomIndex,
temp;
while(len){
// 生成一个随机数与数组最后一个元素交换,排除最后一个,再生成一个随机数与倒数第二个交换,依次类推
randomIndex = Math.floor(Math.random() * (len--));
temp = arr[randomIndex];
arr[randomIndex] = arr[length];
arr[length] = temp;
}
return arr;
}
console.log(resetFun(arr));
2、数组交换某两个数据
// 数组交换某两个数据
var arr = [1,2,3,4,5,6];
function doubleFun(arr){
var len = arr.length,
index1 = Math.floor(Math.random() * len),// 获取0-最大值(length)之间随机数
index2 = Math.floor(Math.random() * len),
temp;
// 如果两个值都为最小值(0) 其中一个值 + 1
if((index1 == index2) && (index1 = 0)){
index2 = index1 + 1;
}
// 如果两个值都为最大值(len)其中一个值 - 1
if((index1 == index2) && (index1 = len)){
index2 = index1 - 1;
}
// 交换值
temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
return arr;
}
console.log(doubleFun(arr));