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

JavaScript010

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)

}

用JS的随机数生成函数random()配合其他数学函数可以限制随机数的取值。

JS的随机数函数及相关函数:

Math.random()结果为0-1间的一个随机数(包括0,不包括1) 。

Math.floor(num)参数num为一个数值,函数结果为num的整数部分。

Math.ceil(n)返回大于等于n的最小整数。

Math.round(num)参数num为一个数值,函数结果为num四舍五入后的整数。

因此可以用以上函数配合实现取1-6的随机数:

1,用Math.ceil(Math.random()*6)时,主要获取1到6的随机整数,取0的几率极小。

2,用Math.round(Math.random()*5 + 1),可基本均衡获取1到6的随机整数,其中获取最小值0和最大值6的几率少一半。

3,用Math.floor(Math.random()*6 + 1)时,可均衡获取1到6的随机整数。