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]}//该判断就可以判断整个数组的最大值