在
javascript中查找子对象的最大值的优雅方法是什么?
例:
{"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原型的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();
这将与上面的完全相同,但更好地表达.
原文地址:https://www.jb51.cc/js/151988.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。