LoDash:从对象属性数组中获取一个数组值
我确定它在LoDash文档中的某处,但我似乎无法find合适的组合。
var users = [{ id: 12, name: Adam },{ id: 14, name: Bob },{ id: 16, name: Charlie },{ id: 18, name: David } ] // how do I get [12, 14, 16, 18] var userIds = _.map(users, _.pick('id'));
从版本v4.x开始,你应该使用_.map
:
_.map(users, 'id'); // [12, 14, 16, 18]
这样它就对应于你要编写的本地Array.prototype.map方法(ES2015语法):
users.map(user => user.id); // [12, 14, 16, 18]
在v4.x之前,你可以用同样的方法使用_.pluck
:
_.pluck(users, 'id'); // [12, 14, 16, 18]
用纯JS:
var userIds = users.map( function(obj) { return obj.id; } );
在新的lodash发行v4.0.0 _.pluck
已经取消_.map
那么你可以使用这个:
_.map(users, 'id'); // [12, 14, 16, 18]
你可以在Github Changelog中看到
这会在popup窗口中给你想要的。
for(var i = 0; i < users.Count; i++){ alert(users[i].id); }