方法一
function randomsort(a, b) {
//通過隨機(jī)產(chǎn)生0(包含0)到1(不包含1)的數(shù)贸铜,然后判斷是否大于0.5從而影響排序,產(chǎn)生隨機(jī)性的效果聂受。
return Math.random() > .5 ? -1 : 1;
//return Math.random() - 0.5; //也可改變數(shù)組元素的位置
}
var arr = [1, 2, 3, 4, 5, 7, 8];
arr.sort(randomsort);
console.log(arr)
方法二
var arr = [1, 2, 3, 4, 5, 7, 8];
//遍歷數(shù)組
for(var i=0;i<arr.length;i++){
var rd=Math.floor(Math.random()*arr.length)
console.log(rd)
var temp=arr[rd]
arr[rd]=arr[i]
arr[i]=temp
}
console.log(arr)
方法三
var arr = [1, 2, 3, 4, 5, 7, 8];
var brr = [];
var count= arr.length;
for (var i = 0; i < count; i++) {
//獲取arr數(shù)組中隨機(jī)元素的索引
var temp = parseInt(Math.random() * (count- i));
//將索引所對(duì)應(yīng)的arr元素蒿秦,給到brr數(shù)組中
brr.push(arr[temp]);
//然后再刪除掉arr中所對(duì)應(yīng)的數(shù)組元素,依次循環(huán)
arr.splice(temp, 1);
}
console.log(brr);
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者