Javascript:在数组中的对象中查找数组中对象属性的最大值:D

标签 javascript jquery arrays object

我有以下对象数组,我想找到任何年份中任何人的最高体重(重量就足够了,我不需要相应的年份或姓名)。

提前致谢:)

var arr = [
    {
        'name': 'Bob',
        'weights': [
            {
                'weight': 90,
                'year': 2018
            },
            {
                'weight': 85,
                'year': 2017
            },
            // etc.
        ]
    },
        'name': 'Charlie',
        'weights': [
            {
                'weight': 65,
                'year': 2018
            },
            {
                'weight': 60,
                'year': 2017
            },
            // etc.
        ]
    },
    // etc.
]

最佳答案

您可以使用 Math.max 和扩展语法来查找最大值,但您还需要使用 map 首先获取一个数组中的权重值。

var arr = [{"name":"Bob","weights":[{"weight":90,"year":2018},{"weight":85,"year":2017}]},{"name":"Charlie","weights":[{"weight":65,"year":2018},{"weight":60,"year":2017}]}]

var max = Math.max(...[].concat(...arr.map(({weights}) => weights.map(({weight}) => weight))))
console.log(max)

关于Javascript:在数组中的对象中查找数组中对象属性的最大值:D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881334/

相关文章:

javascript - 为什么循环会跳过值?

javascript - jquery 仅在选择时显示 id 选项 {help}

javascript - Prototypejs 的 $super 的原生 JS 实现

javascript - 使用 javascript 更改 div 边框

javascript - 尽管经过 Chrome 开发工具控制台验证,jQuery slice() 仍无法正常工作

javascript - Parse.com 在循环中保存对象,仅保存最后一个对象

php - 使用数组插入mysql和php

javascript - 实现打开/关闭标签功能的最佳方式

javascript - 单击带有标签的单选按钮

javascript - 读取 JSON 对象元素