js生成不重复的随机数

需求:

js生成不重复的随机整数。

基础版:

    var originalArray = [1, 2, 3, 4, 5];

originalArray.sort(function () {
return 0.5 - Math.random();
});
console.log(originalArray);

实现思路:

首先定义一个数组,然后用sort方法把数组打乱,最后输出。可以保证是不会重复的,并且效率高。

进阶版:

    var count = 30;
var Arr = new Array; //原数组
//给原数组Arr赋值
for (var i = 0; i < count; i++) {
Arr[i] = i + 1;
}
var d1 = new Date().getTime();
Arr.sort(function () {
return 0.5 - Math.random();
});
console.log(Arr);
var d2 = new Date().getTime();
console.log("运算耗时" + (d2 - d1));

效果图:

js生成不重复的随机数

源码下载:

点击下载源码