关键词搜索

源码搜索 ×
×

js获取数组中最大和最小值

发布2022-01-21浏览1467次

详情内容

1. 排序法
    // 数组中获取最大和最小值
    compareMaxMin() {
      const arr = [12, 56, 25, 5, 82, 51, 22, 100, 2];

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

      const min = arr[0];  // 5
      console.log("最小值->min", min)
      const max = arr[arr.length - 1];  // 56
      console.log("最大值->max", max)
    },
    2. 假设法

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

    // 获取最大值:
    
    var arr = [22,13,6,55,30];
    var max = arr[0];
    
    for(var i = 1; i < arr.length; i++) {
       var cur = arr[i];
       cur > max ? max = cur : null
    }
    
    console.log(max); // 55
    
    // 获取最小值:
    
    var arr = [22,13,6,55,30];
    var min = arr[0];
    
    for(var i = 1; i < arr.length; i++) {
      var cur = arr[i];
      cur < min ? min = cur : null
    }
    console.log(min)  // 6
    
      14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    3. 使用 Math 中的 max/min 方法

    可以使用apply来实现。apply传入的是一个数组。

    var arr = [22,13,6,55,30];
    
    var max = Math.max.apply(null, arr);
    var min = Math.min.apply(null, arr);
    
    console.log(max, min) // 55,6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    4. 使用ES6的扩展运算符
     var arr = [22,13,6,55,30];
     
     console.log(Math.max(...arr)); // 55
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载