js生成一组随机数,找出最大数

JavaScript016

js生成一组随机数,找出最大数,第1张

var randomInt=function(min,max){//生成某个区间内的整数

    return min+Math.floor(Math.random()*(max-min+1))

}

var a=[]//临时数组

for(var i=0i<=50i++){//随机生成50个

    a.push(randomInt(0,1000))

}

console.log(a)//显示这50个数字

console.log(Math.max.apply(Math,a))//从数组中找出最大的

关于Math.random:

Math.random()生成的随机数区间是[0-1)也就是生成的随机数包括0但不包括1

所以像我上面写的randomInt,如果取10-100之间的数,则流程是

10+Math.floor(Math.random()*91)

Math.floor(Math.random()*91)的结果最大是90,并不是91

所以那地方的代码是max-min+1,这就是加1的原因

求数组最大值的方法有很多。

es6可以直接使用"Math.max(...array)",es5可以用"Math.max.apply(null,array)"。

也可以考虑使用数组排序的方法,从大到小或者从小到大排序,然后取第一个或最后一个值。

如果数组的结构比较复杂,可以用for循环,对数组的值进行判断,求出最大值。

思路:可以用遍历数组的方法来判断

方法如下:

var t = new Array(1,11,111,1111,11111)//定义个数组

var m = t[0]

for(var i=1i<t.lengthi++){ //循环数组

  if(m<t[i])m=t[i]}//该判断就可以判断整个数组的最大值