验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

js怎么查找json数据中的最大值和最小值

阅读:403 来源:乙速云 作者:代码code

js怎么查找json数据中的最大值和最小值

      js查找json数据中的最大值和最小值

      js操作数组的方式有很多种,查找json数据中的最大值和最小值也是经常用到,那么接下来就介绍2种方式来实现。

      先准备好json数据,根据数组中的age值比较大小:

      var array = [
          {name:'张三1',age:10},
          {name:'张三2',age:40},
          {name:'张三3',age:40},
          {name:'张三4',age:33},
          {name:'张三5',age:2},
          {name:'张三6',age:2},
      ]

      使用Math对象来获取最大值和最小值

      1. 获取最大值:

      var max = Math.max.apply(Math, array.map(function(o) {
          return o.age;
      }))
      console.log(max);// 40

      2. 获取最小值:

      var min = Math.min.apply(Math, array.map(function(o) {
          return o.age;
      }))
      console.log(min);// 2

      使用for循环来获取最大值和最小值

      1. 获取最大值:

      var max = arr[0].age;
          for (var i = 1; i < arr.length; i++) {
          max = max < arr[i].age ? arr[i].age : max;
      }
      console.log(max);// 40

      2. 获取最小值:

      var min = arr[0].age;
      for (var i = 1; i < arr.length; i++) {
          min = min > arr[i].age ? arr[i].age : min;
      }
      console.log(min);// 2

      获取最大值和最小值返回对应的json数据

      1. 获取含有最大值的数据:

      var maxAgeArr = arr.filter(item=>item.age==max);
      console.log(maxAgeArr);//[{name:'张三2',age:40},{name:'张三3',age:40}]

      2. 获取含有最小值的数据:

      var minAgeArr = arr.filter(item=>item.age==min);
      console.log(minAgeArr);//[{name:'张三5',age:2},{name:'张三6',age:2}]

      用reduce()获取JSON中某个字段值最大的项

      需求

      获取JSON中value值最大的项

      [{
        value: 1
      },{
        value: 2
      },{
        value: 3
      }]

      语法

      array.reduce(callback[, initialValue])
      参数说明
      array必需。数组对象
      callback必需。一个接受最多四个参数的函数。对于数组中的每个元素,reduce 方法都会调用 callback函数一次。
      initialValue可选。如果指定 initialValue,则它将用作初始值。第一次调用 callback 函数会将此值作为参数。

      返回值

      通过最后一次调用回调函数获得的累积结果。

      回调函数语法

      function callbackfn(previousValue, currentValue, currentIndex, array)
      参数说明
      previousValue通过上一次调用回调函数获得的值。如果向 reduce 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。
      currentValue当前数组元素的值。
      currentIndex当前数组元素的数字索引。
      array包含该元素的数组对象。

      示例:

      let maxValue = data.reduce((prev, cur) => {
        return prev.value > cur.value ? prev : cur
      })
      // maxValue = { value:3 }
    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>