当前位置: 首页 > news >正文

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}]

如果有帮助,可以点赞+收藏+关注,后续有更多知识与您分享!!!

欢迎加入QQ技术群:568984539,加群备注‘地区-名字-技术类型’,以防乱加。

关于本文,如果任何疑问的可以在评论区留言,我看到就会第一时间回复的。

相关文章:

  • CSS3 Border-color
  • uniapp+unicloud开发微信小程序流程
  • 微信小程序解决saveImageToPhotosAlbum:fail invalid file type
  • Cacti 不出图像的解决办法(完整版)
  • 我的CSDN博客、UNI技术成长之路
  • websoket封装版 参数配置化 开箱即用
  • h5页面js监听页面失去焦点、获取焦点
  • uniapp之vuex在vue2和vue3两种模式下前端工程化动态导入文件
  • css实现三角形的最简单方式原理剖析
  • android4.4.2内核移植3.4.1
  • js正则提取字符串中http等地址
  • 解决 多列 布局 左右等高问题
  • unicloud云函数时间慢8小时的解决方案
  • 前端js实现字符转义和反转义
  • 实时数据库:优势和报价
  • JS 中的深拷贝与浅拷贝
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES10 特性的完整指南
  • github从入门到放弃(1)
  • Invalidate和postInvalidate的区别
  • JavaScript 基础知识 - 入门篇(一)
  • Java反射-动态类加载和重新加载
  • scala基础语法(二)
  • vue脚手架vue-cli
  • 浮动相关
  • 工作手记之html2canvas使用概述
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 我有几个粽子,和一个故事
  • 怎么将电脑中的声音录制成WAV格式
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 如何在招聘中考核.NET架构师
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (function(){})()的分步解析
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (转)nsfocus-绿盟科技笔试题目
  • (转)详解PHP处理密码的几种方式
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET 使用配置文件
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • [14]内置对象
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [c++] 自写 MyString 类
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复