js 怎么获取指定范围内不重复的随机数

JavaScript017

js 怎么获取指定范围内不重复的随机数,第1张

function getArrayItems(arr, num) { 

//新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组 

var temp_array = new Array() 

for (var index in arr) { 

temp_array.push(arr[index]) 

//剔除一些数字

//取出的数值项,保存在此数组 

var return_array = new Array() 

for (var i = 0 i

//判断如果数组还有可以取出的元素,以防下标越界 

if (temp_array.length>0) { 

//在数组中产生一个随机索引 

var arrIndex = Math.floor(Math.random()*temp_array.length) 

//将此随机索引的对应的数组元素值复制出来 

return_array[i] = temp_array[arrIndex] 

//然后删掉此索引的数组元素,这时候temp_array变为新的数组 

temp_array.splice(arrIndex, 1) 

} else { 

//数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项. 

break 

return return_array 

}

var my_array = new Array() 

for (i = min i < max i++) //max,min指定范围

my_array[i] = i 

my_array = getArrayItems(my_array,1000) //得到数组

  function rand(u,d){

    ++d

    return parseInt(Math.random()*(u-d)+d)

  }

JavaScript生成一个数组;

数组里有十个随机数,并且不重复;

数字的范围是一到十。

根据以上要求代码如下:

function getRandomArray()

{

var array = []

while (array.length < 10)

{

var random = Math.floor(Math.random() * 10) + 1

if (array.indexOf(random) < 0)

{

array.push(random)

}

}

return array

}