それは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; } );
新しいlodashリリースv4.0.0で、_.pluck
は_.map
を支持して削除しました
それからこれを使うことができます:
_.map(users, 'id'); // [12, 14, 16, 18]
Githubの変更履歴 にあります。
そして、各オブジェクトからいくつかのプロパティを抽出する必要があるならば、
let newArr = _.map(arr, o => _.pick(o, ['name', 'surname', 'rate']));