在start~end之间生成n个不重复整数数组
方法一
创建一个start到end的数组,随机的去除数组的下标,将其对应的值取出,如此反复,这样就可以实现永不重复。
function fn(n,start,end){ var arr = []; let result = []; for(let i=0;i<=(end-start);i++){ arr[i] = start+i; } for(let j=0;j
方法二
改进方法一种的splice,从数组中取出一个数,然后让该位置置为null,下一次取时判断是否为空
function fn(n,start,end){ var arr = []; let result = []; for(let i=0;i<=(end-start);i++){ arr[i] = start+i; } for(let j=0;j
方法三
把原数组打散,然后依次取出,这样也不会重复
function fn(n,start,end){ var arr = []; let result = []; for(let i=0;i<=(end-start);i++){ arr[i] = start+i; } arr.sort(function(){ return 0.5-Math.random() }) for(let j=0;j