Javascript数组完全随机排列(数组乱序)
参考链接:https://www.h5jun.com/post/array-shuffle.html
数组乱序的错误方法及详解请浏览 参考链接 https://www.h5jun.com/post/array-shuffle.html
以下2种方法我认为是比较实用的:
(1)时间复杂度约为 O(n2),splice()方法会遍历一次
function shuffle(a) {
var b = [];
while (a.length > 0) {
var index = parseInt(Math.random() * (a.length - 1));
b.push(a[index]);
a.splice(index, 1);
}
return b;
}
(2)时间复杂度为 O(n)
function shuffle(a) {
var len = a.length;
for (var i = 0; i < len - 1; i++) {
var index = parseInt(Math.random() * (len - i));
var temp = a[index];
a[index] = a[len - i - 1];
a[len - i - 1] = temp;
}
}

本文介绍了两种实用的JavaScript数组乱序方法,一种时间复杂度约为O(n²),使用splice()方法;另一种时间复杂度为O(n),通过随机交换元素位置实现。这两种方法均可用于创建随机数组顺序。
&spm=1001.2101.3001.5002&articleId=52560593&d=1&t=3&u=ad9d7b11aaf84f31aa4b9ddaaab719e0)
522

被折叠的 条评论
为什么被折叠?



