数组最大元素及下标


有两个东东,特别好用,一个叫call一个叫apply;这是两个方法,很厉害。

求最大数,当然,最小数也是一样的。

var arr=[1,2,3,4,5,6,10,7,9,11,20,19];

alert(Math.min.apply(null,arr));//获取数组中最小值

alert(Math.max.apply(null,arr));//获取数组中的最大值

求最大值下标

var index_ =arr.indexOf(Math.max.apply(Math, arr)); //获取最大值的下标 同理,最小下标就是min了。

那么这是什么原理呢?

apply方法: 
语法:apply([thisObj[,argArray]]) 
定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
说明: 
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

  apply指代的参数必须是数组形式,且作用和call是如出一辙的。都是代入其他对象来替换当前对象,将当前对象没有功能用其他对象有的功能给替补上,我只能这样理解了。

参考:传送门

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM