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

     

  • 相关阅读:
    Python基础学习
    My First Bog
    WPF 自定义窗口,自定义控件和样式
    WPF 数据规则验证
    C# 类的扩展方法
    C# 类的序列化和反序列化
    数据库使用空间查询方法
    关于linux环境下django获取中文url报错处理
    Django中关于csrf_token的认证
    Django + Uwsgi + Nginx 的生产环境部署
  • 原文地址:https://www.cnblogs.com/iamlhr/p/11326761.html
Copyright © 2011-2022 走看看