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

Lodash Remove all but one property from list of objects

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

原来:

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

之后:

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

我想你正在寻找 lodash - pick

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

不是一个单一的函数。

您可以组合 _.map() to iterate through the array with _.pick() 来减少其中的每个对象。

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

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

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