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); }