zoukankan      html  css  js  c++  java
  • 取数组中的最值

    1.使用 Math 中的 max/min 方法

    Math.max.apply(null,arr)

    Math.min.apply(null,arr)

    第一个参数null,这个是因为没有对象去调用这个方法,所以直接传递null过去

    Math.max()方法,支持传递多个参数,比如:Math.max(1,4,2,3,7,5,6)

    但是它不支持直接传递一个数组作为参数,比如:Math.max([1,4,2,3,7,5,6])

    这里使用.apply将数组中的书一个一个拆分开来,传递到Math.max()方法中,就实现了传递数组的方法。

    所有函数都有apply(作用域链,参数)这个方法,这个函数的“参数”,接收一个数组,并且是将数组中的每个值,分开来,传递给Math.max()方法

    2.排序法

    先将数组进行排序,可以按照从大到小的顺序,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值。

      var arr = [12,56,25,5,82,51,22];

      arr.sort(function (a, b) {
        return b-a;
      });               // [82, 56, 51, 25, 22, 12, 5]

      var min = arr[arr.length-1];

        var max = arr[0];

    3.假设法

    假设数组的第一个值是最大值,然后拿后面的每一项跟第一个值比较,如果大于第一个值,我们把假设的值进行替换。

      var arr = [22,13,6,55,30];

      var max = arr[0];

      for(var i = 1; i < arr.length; i++) {

        arr[i] > max ? max = arr[i] : null

       }

     此时的max就是数组中的最大值

    4.ES6的扩展运算符

      var arr = [22,13,30,55,30];

           console.log(arr.Math(...arr)); // 55

     

  • 相关阅读:
    LeetCode 42. Trapping Rain Water
    LeetCode 209. Minimum Size Subarray Sum
    LeetCode 50. Pow(x, n)
    LeetCode 80. Remove Duplicates from Sorted Array II
    Window10 激活
    Premiere 关键帧缩放
    AE 「酷酷的藤」特效字幕制作方法
    51Talk第一天 培训系列1
    Premiere 视频转场
    Premiere 暴徒生活Thug Life
  • 原文地址:https://www.cnblogs.com/iamlhr/p/11326761.html
Copyright © 2011-2022 走看看