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

Ali*_*suf 10 node.js lodash

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

const _ = require('lodash');

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

_.map(arr, 'fname');
_.pluck(arr, 'fname');
Run Code Online (Sandbox Code Playgroud)

输出是相同的,并且两个函数都没有变异arr.

rob*_*lep 16

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

以下是更改日志的相关摘录:

删除_.pluck有利于_.mapiteratee速记

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]
Run Code Online (Sandbox Code Playgroud)