Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between lodash's _.map and _.pluck?

Tags:

node.js

lodash

I have the following code, can anyone tell the difference:

const _ = require('lodash');

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

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

The output is the same, and both functions are not mutating arr.

like image 291
Ali Yousuf Avatar asked Jan 13 '16 11:01

Ali Yousuf


1 Answers

In the way you're using them, they basically do the same. That's why .pluck() was removed from Lodash v4.0.0 in favor of using .map() with a string as second argument.

Here's the relevant excerpt from the changelog:

Removed _.pluck in favor of _.map with iteratee shorthand

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]
like image 156
robertklep Avatar answered Oct 13 '22 14:10

robertklep