我曾经使用过Lodash _.pluck
...我喜欢采摘......
意识到Lodash不再支持pluck
(从Lodash 4.x开始),我很难记住要使用的内容......
我去了the docs,打了cmd-f,输入了'采摘,但我的可怜的被抛弃的朋友甚至没有给出适当的提及......甚至没有'已被' ...
取代有人可以提醒我,我应该使用什么?
答案 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, [])