js求数组最值

2018-09-22  本文已影响10人  duans_

求数组中的最大数

var arr=[11,222,333,44,55];
  1. 方案一

通过apply方法调用内置对象Math.max()方法

function getMax(max){
   return  Math.max.apply(null,arr);
}
  1. 方案二

假设索引为0的元素为最大值,然后循环用每个元素和最大值比较,最终取得最大值

function getMax(arr){
    if(arr.length<=1){
        return arr[0];
    }
   var max=arr[0];
   for(var i=0;i<arr.length;i++){
       if(arr[i]>max){
           max=arr[i];
       }
   }
   return max;
}
  1. 方案三

先对数组进行升序排序,然后直接取出最后一个元素,即为最大值

function getMax(){
    if(arr.length<=1){
        return arr[0];
    }  
    //升序排列数组
    arr.sort(function(a,b){
        return  a-b;
    });  
    //取出最后一个元素,即为最大值
    return arr[arr.length-1];
}
  1. 方案四

es6扩展运算符

function getMax(arr){
    return Math.max(...arr)
}

求数组中的最小数

var arr=[11,222,333,44,55];
  1. 方案一

通过apply方法调用内置对象Math.min()方法

function getMin(arr){
    return Math.min.apply(null,arr);
}
  1. 方案二

假设索引为0的元素为最小值,然后循环用每个元素和最小值比较,最终取得最小值

function getMin(arr){
    if(arr.length<=1){
        return arr[0];
    }
   var min=arr[0];
   for(var i=0;i<arr.length;i++){
       if(arr[i]<min){
           min=arr[i];
       }
   }
   return min;
}
  1. 方案三

先对数组进行升序排序,然后直接取出最后一个元素,即为最小值

function getMin(){
    if(arr.length<=1){
        return arr[0];
    }  
    //升序排列数组
    arr.sort(function(a,b){
        return  b-a;
    });  
    //取出最后一个元素,即为最大值
    return arr[arr.length-1];
}
  1. 方案四

es6扩展运算符

function getMin(arr){
    return Math.min(...arr)
}
上一篇 下一篇

猜你喜欢

热点阅读