JavaScript打乱一个数组的顺序的两种方式
方法一:利用sort函数
arr.sort(function() { return .5 - Math.random(); });
这种方式可以打乱一个数组的顺序,但是并不是真正的乱序,所以建议不要用在严谨的打乱顺序上。
方法二:自己封装一个函数
function rand(arr) { var len = arr.length //倒叙遍历该数组 for(var i = arr.length - 1; i >= 0; i--) { // 产生一个在数字长度内的随机数 var randomIndex = Math.floor(Math.random() * (i + 1)); // 作为数组下标去取数组该位置的值 var itemIndex = arr[randomIndex]; // 随机的位置与该位置互换 arr[randomIndex] = arr[i]; arr[i] = itemIndex; } return arr; }
One comment
感谢,正好遇到打乱数组顺序的问题,解决了 。