lodash的_.map和_.pluck有什么区别?

时间:2016-01-13 11:50:08

标签: node.js lodash

我有以下代码,任何人都可以区分:

let _ = require('lodash');

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

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

输出相同,两个函数都没有变异arr

1 个答案:

答案 0 :(得分:16)

在你使用它们的方式中,它们基本上都是这样做的。这就是为什么从Lodash v4.0.0中删除了.pluck(),转而使用带有字符串作为第二个参数的.map()

以下是changelog的相关摘录:

  

使用iteratee简写

删除_.pluck以支持_.map
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]