【问题标题】:Best way to remove a "column" from a collection using Lodash?使用 Lodash 从集合中删除“列”的最佳方法?
【发布时间】:2015-03-27 05:45:13
【问题描述】:

我想使用 Lodash 从 JavaScript 中的集合(对象数组)中删除一个或多个“列”。

例如,在以下集合中:

var users = [
  { 'name': 'barney', 'age': 36, 'alum': true },
  { 'name': 'fred',   'age': 40, 'alum': false }
];

...我可能想删除所有以字母 A 或类似字母开头的列。

我知道我可以使用_.omit() 方法在每个对象的基础上实现类似的效果,但如果我在each 循环中这样做,这似乎并不奏效。

使用 Lodash 解决此问题的最佳方法是什么?

【问题讨论】:

    标签: javascript arrays underscore.js lodash


    【解决方案1】:

    我知道我可以使用_.omit() 方法在每个对象的基础上实现类似的效果,但如果我在each 循环中执行此操作,这似乎并不奏效。

    因为omit 返回一个新对象,而each 对数组没有任何作用。

    您想使用map 来获取包含新对象的新数组:

    users = _.map(users, function(user) {
        return _.omit(user, function(value, key) {
            return key.charAt(0) == "a";
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      相关资源
      最近更新 更多