运行代码 缩小
汉王
HTML代码
复制 格式化 注释 注释 清空
放大
AخA
 
1
<html>
2
<head>
3
<title>自认为比较高效的JavaScript数组打乱顺序的方法</title>
4
</head>
5
<body>
6
<script>
7
var count = 100000,arr = [];
8
for(var i=0;i<count;i++){
9
    arr.push(i);
10
}
11
//常规方法,sort()
12
var t = new Date().getTime();
13
Array.prototype.sort.call(arr,function(a,b){ return Math.random()>.5 ? -1 : 1;});
14
document.write(arr+'<br/>');
15
var t1 = new Date().getTime();
16
document.write(t1-t);
17
 
18
//以下方法效率最高
19
if (!Array.prototype.shuffle) {
20
    Array.prototype.shuffle = function() {
21
        for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
22
        return this;
23
    };
24
}
25
var t = new Date().getTime();
26
arr.shuffle();
27
document.write('<br/>'+arr+'<br/>');
28
var t1 = new Date().getTime();
29
document.write(t1-t);
30
</script>
31
</body>
32
</html>
CSS代码
复制 格式化 注释 注释 颜色 清空
放大
CSS代码...
x
 
1
JS代码
复制 格式化 注释 注释 清空
放大
JS代码...
xxxxxxxxxx
1
 
1
名称
高效的JavaScript数组顺序打乱方法
分类
网站常用
描述
自认为比较高效的JavaScript数组顺序打乱方法,常规方法使用sort(),在本方法中使用判断+For循环的方式,不过我认为这应该是代码比较精简的方法,至于高效么,我觉得还应再提升一下性能,因为运行后IE觉得老慢。JavaScript数组数组打乱方...
收藏