这篇文章主要介绍了 JavaScript 对数组进行随机重排的方法, 实例分析了 javascript 实现数组随机重新排序的两种实现技巧, 具有一定参考借鉴价值, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲述了 JavaScript 对数组进行随机重排的方法。分享给大家供大家参考。具体如下:
这里提供了两个方法对数组进行随机重排。
- <script>
- var count = 100000,
- arr = [];
- for (var i = 0; i < count; i++) {
- arr.push(i);
- }
- //常规方法,sort()
- var t = new Date().getTime();
- Array.prototype.sort.call(arr,
- function(a, b) {
- return Math.random() > .5 ? -1 : 1;
- });
- document.write(arr + '<br/>');
- var t1 = new Date().getTime();
- document.write(t1 - t);
- //以下方法效率最高
- if (!Array.prototype.shuffle) {
- Array.prototype.shuffle = function() {
- for (var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
- return this;
- };
- }
- var t = new Date().getTime();
- arr.shuffle();
- document.write('<br/>' + arr + '<br/>');
- var t1 = new Date().getTime();
- document.write(t1 - t);
- </script>
希望本文所述对大家的 javascript 程序设计有所帮助。
来源: