【发布时间】:2014-03-09 09:53:18
【问题描述】:
我了解 pick 用于取回仅具有指定属性的对象:
_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
=> {name: 'moe', age: 50}
我将如何对数组执行相同的操作,比如我有一个数组,例如:
[{name: 'moe1', age: 50, userid: 'moe1'},
{name: 'moe2', age: 50, userid: 'moe1'},
{name: 'moe3', age: 50, userid: 'moe1'}]
我想将它映射到一个数组,以便只包含 name 和 age 属性,例如:
[{name: 'moe1', age: 50},
{name: 'moe2', age: 50},
{name: 'moe3', age: 50}]
我必须对数组执行each(),然后对每个对象执行pick(),还是有更简洁的方法?
编辑
抱歉,这只是另一个小要求,我将如何执行 where(即获取所有年龄大于 50 岁的人)然后执行pick?
编辑
像这样完成的,不知道下划线中的链接是如何工作的。
_(data).reject(function (r) { return d.age<51; }).map(function (o) {
return _.pick(o, "age", "name");
});
【问题讨论】:
标签: javascript arrays underscore.js