【发布时间】:2015-03-28 14:16:52
【问题描述】:
我有一个对象数组,对象的数量是可变的 -
var people = [{
name: john,
job: manager,
salary: 2000
},
{
name: sam,
job: manager,
salary: 6000
},
{
name: frodo,
job: janitor
}];
使用 lodash 求所有经理平均工资的最优雅方法是什么? (我假设我们必须检查一个对象是否是经理,以及该对象是否具有薪水属性)
我在想下面几行 -
_(people).filter(function(name) {
return name.occupation === "manager" && _(name).has("salary");}).pluck("salary").reduce(function(sum,num) { return sum+num });
但我不确定这是否是正确的方法。
【问题讨论】:
-
这段代码有效吗? reduce 似乎没有找到 avg,而是返回所有薪水的总和。
标签: javascript underscore.js lodash