LoDash:从对象属性数组中获取一个值数组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我肯定它在LoDash文档的某个地方,但我似乎找不到正确的组合。

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

扫码关注云+社区