假如有一個數組:
var arr1=['a','b','c','d','e','f','g'];
需要將它進行隨機打亂,網上好多都是用:
arr1.sort(function(){ return 0.5 - Math.random() });這種方式來實現,
但是,經測試發現:這種方式打亂的效果不是太明顯,網上百度了洗牌算法,經過修改,代碼如下:
function shuffle(arr) { for (var i = arr.length - 1; i >= 0; i--) { var randomIndex = Math.floor(Math.random() * (i + 1)); var itemAtIndex = arr[randomIndex]; arr[randomIndex] = arr[i]; arr[i] = itemAtIndex; } return arr;
}
直接調用shuffle(arr);
console.log(arr);
這樣,打印出來的arr就是隨機的了