2016-01-13 6 views
8

、私は次のコードを持って、誰もが違いを見分けることができます。lodashの_.mapと_pluckの違いは何ですか?

let _ = require('lodash'); 

let arr = [ 
    {'fname':'Ali', 'lname': 'Yousuf'}, 
    {'fname': 'Uzair', 'lname': 'Ali'}, 
    {'fname': 'Umair', 'lname': 'Khan'} 
]; 

_.map(arr, 'fname'); 
_.pluck(arr, 'fname'); 

出力は同じであり、両方の機能はarrを変異されていません。

答えて

14

あなたが使っているところでは、基本的に同じことをしています。そのため、.pluck()がLodash v4.0.0から削除され、.map()を第2引数として文字列を使用することになりました。

ここchangelogから関連の抜粋です:iterateeで_.mapの賛成で_.pluckを削除

はい、 `map`は` function`または `文字列を受け取ることができ

var objects = [{ 'a': 1 }, { 'a': 2 }]; 

// in 3.10.1 
_.pluck(objects, 'a'); // → [1, 2] 
_.map(objects, 'a'); // → [1, 2] 

// in 4.0.0 
_.map(objects, 'a'); // → [1, 2] 
+1

を速記しました'パラメータとして、' string'を受け取った場合、その動作は 'pluck'のようになります。さもなければ、その動作は 'Array.prototype.map'のようになります。 – gabrielperales

関連する問題