注意:
1、Math.max()函数只能传入一组参数来求最大值,所以如果是要用于求一个数组中的最大值时,可以用Math.max.apply(Math,array),把this值指向Math对象,则第二个参数可以传入任意数组。
2、当给Math.max()或Math.min()函数传参时,若参数中有非数值的项,则会返回NaN。
最后上一下今天在学习Math对象时遇到的一道编程题:
随机产生十个整数,放入数组中,对这个数组进行降序排序,并获取到这个数组的最大值和最小值
效果如下图所示(效果图中的整数是随机产生的):
<script>
var arr=[];
function getRandom(n,m){
var choices=m-n+1;
var random=Math.floor(Math.random()*choices)+n;
return random;
}
function compare(num1,num2){
return num2>num1;
}
for (var i=0;i<10;i++){
arr.push(getRandom(0,100));
}
document.write(arr.sort(compare)+"<br/>");
var max=Math.max.apply(Math,arr);//这里其实用var max=arr[0];也可以的
var min=Math.min.apply(Math,arr);//var max=arr[9]
document.write("这组数中的最大值是:"+max+",最小值是:"+min);
</script>
运行结果:
93,75,57,37,32,27,20,14,13,8
这组数中的最大值是:93,最小值是:8
本文只是个人学习中遇到的一些小问题,如有错误,还请大家多多指教!