gpt4 book ai didi

javascript - 查找子对象的最大值

转载 作者:数据小太阳 更新时间:2023-10-29 05:50:41 24 4
gpt4 key购买 nike

在 javascript 中找到子对象最大值的优雅方法是什么?

例子:

找到这个对象的最大数量值(这里显示为json):

{"density":[
{"price":1.22837, "quantity":48201},
{"price":1.39837, "quantity":28201},
{"price":1.40107, "quantity":127011},
{"price":1.5174, "quantity":75221},
{"price":1.60600, "quantity":53271}
]}

感谢您的任何建议!

PS:澄清一下:我当然可以循环,但我认为会有更优雅的方式......

最佳答案

Array 原型(prototype)的 reduce 方法:

var arr = JSON.parse(objstring)["density"];
var max = arr.reduce(function(a, b) {
return Math.max(a, b.quantity);
}, 0);

另一种解决方案是这样的

var max = Math.max.apply(null, arr.map(function(item){
return item["quantity"];
}));

对于更“优雅”的方式,有提供 getter 工厂函数和更多 Array 方法的函数库。具有此类库的解决方案可能看起来像

var max = arr.get("quantity").max();

这与上面的完全一样,但表达得更好。

关于javascript - 查找子对象的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com