假如有一个数组:
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就是随机的了