在 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:只是为了澄清:当然我可以循环,但我认为会有一种更优雅的方式......
有的是reduce
Array原型的方法:
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(使用前将#替换为@)