js如何查找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 }

总结

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

(0)

相关推荐

  • JS实现获取数组中最大值或最小值功能示例

    本文实例讲述了JS实现获取数组中最大值或最小值功能.分享给大家供大家参考,具体如下: 方法一: //最小值 Array.prototype.min = function(){ var min = this[0]; var len = this.length; for(var i=1; i<len; i++){ if(this[i] < min){ min = this[i]; } } return min; } console.log([55,38,7,19].min()); //最大值 Ar

  • JS获取数组最大值、最小值及长度的方法

    本文实例讲述了JS获取数组最大值.最小值及长度的方法.分享给大家供大家参考,具体如下: //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this[i] < min){ min = this[i]; } } return min; } //最大值 Array.prototype.max = function()

  • JavaScript遍历查找数组中最大值与最小值的方法示例

    本文实例讲述了JavaScript遍历查找数组中最大值与最小值的方法.分享给大家供大家参考,具体如下: <script language="javascript"> // 查找数组中最小值 function mathMin(arrs){ var min = arrs[0]; for(var i = 1, ilen = arrs.length; i < ilen; i+=1) { if(arrs[i] < min) { min = arrs[i]; } } ret

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

    目录 js查找json数据中的最大值和最小值 使用Math对象来获取最大值和最小值 使用for循环来获取最大值和最小值 获取最大值和最小值返回对应的json数据 用reduce()获取JSON中某个字段值最大的项 需求 语法 返回值 回调函数语法 总结 js查找json数据中的最大值和最小值 js操作数组的方式有很多种,查找json数据中的最大值和最小值也是经常用到,那么接下来就介绍2种方式来实现. 先准备好json数据,根据数组中的age值比较大小: var array = [     {na

  • java 获取一组数据中的最大值和最小值

    话不多说,请看代码: public static void main(String[] args) { int array[]={2,4,3,9,1,6,8,5,23}; int max=array[0],min=array[0]; for(int i=0;i<array.length;i++){ if(array[i]>max){ max=array[i]; } } for(int i=0;i<array.length;i++){ if(array[i]<min){ min=ar

  • js根据json数据中的某一个属性来给数据分组的方法

    如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <span id ="span" style="width: 50px;height: 200px;"></span> </body> &

  • Python查找不限层级Json数据中某个key或者value的路径方式

    最近项目中有一个小需求,查找json文件中某个key或者value的路径,所以就写了一个简单的小脚本,比较粗糙. #!/usr/bin/env python3 # -*- coding:utf-8 -*- ''' @author: funcups ''' from logzero import logger import ast class HandleJson(): def __init__(self, data): if data == None: logger.error('请输入json

  • 在js与java中判断json数据中是否含有某字段的案例

    js中 从服务端传过来一个json数据为data 1.data["key"] != undefined //这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了 2.!("data" in obj) 3.data.hasOwnProperty("key") //后面两种推荐使用 java程序中判断是否存在 data 为从浏览器传回来的json数据 当读取数据的时候最好先加一个判断,不然如果里面不含有该数据

  • JS中判断JSON数据是否存在某字段的方法

    如何判断传过来的JSON数据中,某个字段是否存在, 1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了. 2.!("key" in obj) 3.obj.hasOwnProperty("key") 这两种方法就比较好了,推荐使用. 答案原文: Actually, checking for undefined-ness is not an accurat

  • JS中如何判断传过来的JSON数据中是否存在某字段

    如何判断传过来的JSON数据中,某个字段是否存在, 1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了. 2.!("key" in obj) 3.obj.hasOwnProperty("key") 这两种方法就比较好了,推荐使用. 答案原文: Actually, checking for undefined-ness is not an accurat

  • 直接在JS里创建JSON数据然后遍历使用

    之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据. 这里讲下直接在JS里创建JSON数据,然后遍历使用~ 创建代码如下:(创建的是JSON对象) var YearSelect = {}; var Year = 2014; var DateOption; for (var i = Year; i < Year + 12; i++) { DateOption = {'Year':i, 'Month':i-Year+1}; / alert(DateOption.Year) Year

  • JSON数据中存在单个转义字符“\”的处理方法

    1.反斜杠(又称右斜杠"\"),还表示转义字符,字符串中不能成单出现: 斜杠(又称左斜杠"/") 例如,在Android中定义字符串时: 2.若JSON数据中存在奇数个反斜杠时后台又不做处理的前提下,移动端可以过滤该特殊字符: 第一步:构建工具类: public class JSONEncodeUtil { /** * 将奇数个转义字符变为偶数个 * @param s * @return */ public static String getDecodeJSONSt

  • Java如何取掉json数据中值为null的属性字段

    目录 取掉json数据中值为null的属性字段 用注解的方式放在标记类或者属性 或者在配置文件中添加全局配置 json返回隐藏null值的字段 取掉json数据中值为null的属性字段 @JsonInclude(JsonInclude.Include.NON_NULL)  集成于Springboot2.0中此方法的配置意在实体类与json互转的时候 属性值为null的不参与序列化. 使用时: 用注解的方式放在标记类或者属性 或者在配置文件中添加全局配置 jackson.default-prope

随机推荐