美文网首页
获取数组最大值--4种方法

获取数组最大值--4种方法

作者: gaoqizhuhui | 来源:发表于2017-07-26 14:23 被阅读0次

var ary=[23,34,24,12,36,14,25,30];

1、数组排序法:

给数组进行排序(小-->大),第一个和最后一个即为所要的最大值和最小值:

ary.sort(function(a,b){
     return a-b;
});
var max=ary[ary.length-1];
var min=ary[0];

2、假设法:

假设当前数组中的第一个值是最大值,然后拿这个值和后面的项逐一进行比较,如果后面某一个值比假设的还要大,说明假设错了,把假设的值进行替换

var max=ary[0],min=ary[0];
for(var i=1;i<ary.length;i++){
       var cur=ary[i];
       cur>max?max=cur:null;
       cur<min?min=cur:null;
}

3、拼接字符串方法:
var max=eval("Math.max("+ary.toString()+")");

首先不管其他的,先把最后要执行的代码都变为字符串,然后把数组中的每一项的值分别的拼接到这个字符串中。之后再eval()执行(eval:把字符串转换为JS可执行代码)

注意:
a、直接Math.max([23,34,24,12,36,14,25,30])的话输出是NaN,因为Math.max()在执行的时候把需要比较的那堆数一个个传递进来,才可以得到结果,一下放一个ary数组是不行的

b、直接eval("23,34,24,12,36,14,25,30")也不行,只获取到了最后一项值

4、用apply:

var max=Math.max.apply(null,ary);
 var min=Math.min.apply(null,ary);

apply传参是传一个数组,但相当于一个个传进来的

相关文章

  • 获取数组最大值--4种方法

    var ary=[23,34,24,12,36,14,25,30]; 1、数组排序法: 给数组进行排序(小-->大...

  • 数组操作

    判断元素是否在数组中 获取数组最大值 数组排序

  • call和apply的应用

    获取数组最大值 取平均值 类数组转换为数组

  • 优雅的获取数组的最大/最小/平均值

    优雅的获取数组的最大值,可以通过oc的valueForKeyPath方法来设置想要获取的数组的最大值,最小值,平均...

  • js小技巧

    1. 获取数组中的最大值 2. 获取数组中的最小值 3. 测量一个JavaScript代码块性能的技巧 4. 字符...

  • 数组二

    ackage com.itheima_04;/* * 数组获取最值(获取数组中的最大值最小值) */public ...

  • 30S学习javascript

    数组 返回数组中的最大值. 将Math.max()与扩展运算符 (...) 结合使用以获取数组中的最大值。 返回数...

  • PHP(7)数学、日期和错误处理

    一、数学函数 max($arr);获取数组中的最大值 min($arr);获取数组中的最小值 mt_rand(a,...

  • iOS获取数组的最大值

    如何优雅的获取数组的最大值,其实oc可以通过valueForKeyPath方法来设置你想要获取的一些数组,比如数组...

  • OC获取数组的最大值最小值

    如何获取数组的最大值,其实oc可以通过valueForKeyPath方法来设置你想要获取的一些数组,比如数组的最大...

网友评论

      本文标题:获取数组最大值--4种方法

      本文链接:https://www.haomeiwen.com/subject/tdankxtx.html