我有一个对象数组,我想比较特定对象属性上的那些对象。这是我的数组:
var myArray = [ {"ID": 1, "Cost": 200}, {"ID": 2, "Cost": 1000}, {"ID": 3, "Cost": 50}, {"ID": 4, "Cost": 500} ] 我想将“成本”专门归零,并获得最小值和最大值。我意识到我可以获取成本值并将其推入javascript数组,然后运行Fast JavaScript Max / Min。
但是,有没有一种更简单的方法可以通过绕过中间的数组步骤并直接关闭对象属性(在这种情况下为“成本”)来做到这一点? 问题来源于stack overflow
在这种情况下,最快的方法是遍历所有元素,并将其与到目前为止的最高/最低值进行比较。
(创建数组,调用数组方法对于这种简单的操作来说是多余的)。
// There's no real number bigger than plus Infinity var lowest = Number.POSITIVE_INFINITY; var highest = Number.NEGATIVE_INFINITY; var tmp; for (var i=myArray.length-1; i>=0; i--) { tmp = myArray[i].Cost; if (tmp < lowest) lowest = tmp; if (tmp > highest) highest = tmp; } console.log(highest, lowest);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。