数组最大元素及下标
Posted webSong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组最大元素及下标相关的知识,希望对你有一定的参考价值。
有两个东东,特别好用,一个叫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是如出一辙的。都是代入其他对象来替换当前对象,将当前对象没有功能用其他对象有的功能给替补上,我只能这样理解了。
参考:传送门
以上是关于数组最大元素及下标的主要内容,如果未能解决你的问题,请参考以下文章
c++ 一个有十个整数元素的数组(17 85 67 83 65 49 26 92 38 42),编写一个程序找出其中的最大数和其下标,并在主函数中打印最大数和相应下标