Lodash _.pluck怎么了?

时间:2016-02-01 17:10:05

标签: javascript lodash

我曾经使用过Lodash _.pluck ...我喜欢采摘......

意识到Lodash不再支持pluck(从Lodash 4.x开始),我很难记住要使用的内容......

我去了the docs,打了cmd-f,输入了'采摘,但我的可怜的被抛弃的朋友甚至没有给出适当的提及......甚至没有'已被' ...

取代

有人可以提醒我,我应该使用什么?

5 个答案:

答案 0 :(得分:357)

阿公顷! Lodash Changelog说明了一切......

“删除_.pluck_.map使用iteratee简写”

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 :(得分:53)

由于ES6已经起飞,因此不需要_.map_.pluck

这是使用ES6 JavaScript的另一种选择:

clips.map(clip => clip.id)

答案 2 :(得分:11)

使用_.map代替_.pluck。在最新版本中,_.pluck已被删除。

答案 3 :(得分:3)

如果您确实希望_.pluck支持,可以使用mixin:

const _ = require("lodash")

_.mixin({
    pluck: _.map
})

因为map现在支持字符串(“迭代器”)作为参数而不是函数。

答案 4 :(得分:0)

或者尝试像这样的纯ES6非lodash方法

const reducer = (array, object) => {
  array.push(object.a)
  return array
}

var objects = [{ 'a': 1 }, { 'a': 2 }];
objects.reduce(reducer, [])