js如何查找json数据中的最大值和最小值方法

 更新时间:2023年04月17日 17:10:53   作者:上网的虫不叫网虫  
这篇文章主要介绍了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 }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IScroll5 中文API参数说明和调用方法

    IScroll5 中文API参数说明和调用方法

    IScroll是移动页面上被使用的一款仿系统滚动插件。IScroll5相对于之前的IScroll4改进了许多,使得大家可以更方便的定制所需的功能了。
    2016-05-05
  • 使用JavaScript实现轮播图效果

    使用JavaScript实现轮播图效果

    这篇文章主要为大家详细介绍了使用JavaScript实现轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 分享JavaScript监听全部Ajax请求事件的方法

    分享JavaScript监听全部Ajax请求事件的方法

    最近在做一个小项目,引入了第三方js文件,这个文件会调用XMLHttpRequest向服务器发送 Ajax请求,但是我有需要监听其Ajax请求的某些事件,以便额外地执行其他脚本。于是稍微看了看监听 Ajax请求的事件方法,在这里分享给大家。有需要的朋友们可以参考借鉴。
    2016-08-08
  • 微信小程序封装自定义弹窗的实现代码

    微信小程序封装自定义弹窗的实现代码

    这篇文章主要介绍了微信小程序封装自定义弹窗的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • JavaScript中数组去重常用的五种方法详解

    JavaScript中数组去重常用的五种方法详解

    去重是开发中经常会碰到的一个热点问题,这篇文章主要介绍了JS中实现数组去重中常用的5个方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • JS辨别访问浏览器判断是android还是ios系统

    JS辨别访问浏览器判断是android还是ios系统

    扫描二维码之后自动分辨出是android还是ios系统,因此就要用JS辨别访问浏览器针对于不同的系统进行不同的下载,需要的朋友可以参考下
    2014-08-08
  • JavaScript中this绑定规则你理解了吗

    JavaScript中this绑定规则你理解了吗

    JavaScript中的this是一个非常重要的概念,也是一个令新手开发者甚至有些不深入理解的多年经验开发者都会感到困惑的概念,如果你希望自己能够使用this编写更好的代码或者更好理解他人的代码,就跟随小编一起理解一下this吧
    2023-07-07
  • JavaScript中最常见的三个面试题解析

    JavaScript中最常见的三个面试题解析

    JavaScript是所有现代浏览器的官方语言。 因此,JavaScript 问题出现在各种开发人员的面试中。这篇文章主要跟大家分享了关于JavaScript中最常见的三个面试题,需要的朋友可以参考学习,下面来一起看看吧。
    2017-03-03
  • 详解JavaScript中JSON.stringify方法

    详解JavaScript中JSON.stringify方法

    JSON 对象是我们经常使用的一种数据存储对象,它的适用范围非常广,JSON.stringify 方法可以帮我们把一个对象或数组转换成一个 JSON字符串,本文我们给大家详细介绍一下JavaScript中JSON.stringify方法,需要的朋友可以参考下
    2023-09-09
  • 魔鬼字典 JavaScript 笔记 代码比较多乱

    魔鬼字典 JavaScript 笔记 代码比较多乱

    魔鬼字典 JavaScript 笔记 代码比较多乱,对于有经验的看容易点。
    2010-03-03

最新评论