js如何生成指定范围内的随机数

JavaScript037

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 = 0i

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

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 = mini <maxi++) //max,min指定范围

{

my_array[i] = i

}

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

function rand(u,d){

++d

return parseint(math.random()*(u-d)+d)

}

参考代码:

<script language="javascript">

/**

* 随机数

*/

document.write(Math.floor(Math.random()*1000+1000))  //输出1000~2000之间的随机整数

</script>

random()产生的是[0,1)半开半闭区间内的数据

即产生的数据大于等于0.0,小于1.0

你这里需要产生5到15的整数

因为只有大于等于15小于16的时候

floor函数才能获取到15

因此这里需要加一个1

使得产生的随机数在[0.0, 11.0)之间