如何随机获得3-23之间的整数(请用JS代码实现)

JavaScript010

如何随机获得3-23之间的整数(请用JS代码实现),第1张

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

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

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

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

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

4. 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的随机整数。

在javascript中输入函数Math.floor(Math.random()*10+1)。

在原来的函数上再加1就变成了Math.random()*10+1。此时就可以返回1到10的随机数了,但是我们返回的很多是小数,不符合要求。

下面就用到了Math.floor()这个函数了,这个函数执行向下舍入,也就是说10.99经过Math.floor都是10,Math.ceil(是向上舍入)即使是10.00001,返回也是11,现在我们就求出来结果了。

随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。

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)

  }