-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
Description
数组随机排列,一般用于随机播放,图片随机展示
// 方法一
function shuffle (arr){
for(var i = 0; i < arr.length; i++ ){
var rand = parseInt(Math.random() * arr.length);
var temp = arr[rand];
arr[rand] = arr[i];
arr[i] = temp;
}
return arr;
}
// 方法二
function getRandomIndex (min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
}
function shuffle1 (arr) {
let newArr = arr.slice()
for (let i = 0; i < newArr.length; i++) {
let j = getRandomIndex(0, i)
let temp = newArr[i]
newArr[i] = newArr[j]
newArr[j] = temp
}
return newArr
}
// 方法三
function shuffle(a) {
var j, x, i;
for (i = a.length; i; i--) {
j = Math.floor(Math.random() * i);
x = a[i - 1];
a[i - 1] = a[j];
a[j] = x;
}
return a;
}