Lodash从对象列表中删除除一个属性之外的所有属性

时间:2016-03-27 04:53:32

标签: javascript lodash

是否有可以产生以下内容的lodash函数:

Orignally:

var persons = [{"1":1, "2":2, "3":3}, {"1":12, "2":22, "3":32}];
var result = _.func(persons, "1")

后:

result = [{"1":1},{"1":12}]

2 个答案:

答案 0 :(得分:11)

不是单一功能。

您可以合并_.map()以使用_.pick()遍历数组,以减少其中的每个对象。

var result = _.map(persons, function (p) {
    return _.pick(p, '1');
});

您还可以使用_.partialRight()创建迭代器函数:

var result = _.map(persons, _.partialRight(_.pick, '1'));

答案 1 :(得分:0)

我认为你正在寻找lodash - pick

var object = { 'a': 1, 'b': '2', 'c': 3 };
_.pick(object, ['a', 'c']); // → { 'a': 1, 'c': 3 }