js如何查找json数据中的最大值和最小值方法 目录 js查找json数据中的最大值和最小值 使用Math对象来获取最大值和最小值 使用for循环来获取最大值和最小值 获取最大值和最小值返回对应的json数据 用reduce()获取JSON中某个字段值最大的项 需求 语法
目录
- js查找json数据中的最大值和最小值
- 使用Math对象来获取最大值和最小值
- 使用for循环来获取最大值和最小值
- 获取最大值和最小值返回对应的json数据
- 用reduce()获取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 }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
沃梦达教程
本文标题为:js如何查找json数据中的最大值和最小值方法
基础教程推荐
猜你喜欢
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01