我有以下代码,任何人都可以区分:
let _ = require('lodash');
let arr = [
{'fname':'Ali', 'lname': 'Yousuf'},
{'fname': 'Uzair', 'lname': 'Ali'},
{'fname': 'Umair', 'lname': 'Khan'}
];
_.map(arr, 'fname');
_.pluck(arr, 'fname');
输出相同,两个函数都没有变异arr
。
答案 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]