找到子对象的最大值

2024-04-21

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

Example:

找到该对象的最大数量值(此处显示为 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:只是为了澄清:当然我可以循环,但我认为会有一种更优雅的方式......


有的是reduceArray原型的方法:

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();

这与上面的完全相同,但表达得更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找到子对象的最大值 的相关文章