javascript - 使用 Lodash 从集合中删除 "column"的最佳方法?

标签 javascript arrays underscore.js lodash

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

例如,在以下集合中:

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

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

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

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

最佳答案

I know that I can achieve something similar on a per-object basis using the _.omit() method, but this does not seem to stick if I do it in an each loop.

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

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

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

关于javascript - 使用 Lodash 从集合中删除 "column"的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29294081/

相关文章:

c - C中的外部数组没有大小

php - 如何显示表格中的每个数据

javascript - 在下划线 groupBy 之后加入或合并 json 对象

javascript - 如何将列表元素组合成对

javascript - 如何用Jquery触发一个js函数

JavaScript 在迭代数组时等待后端响应

javascript - 如何使用相同的代码库创建具有一些共享服务和组件的另一个项目?

javascript - 如何使用交叉过滤器按类别返回唯一值的数量?

javascript - 在 underscore.js 模板中转义 <%- %> 标签

javascript - Angular.js 停止执行(可能是一般 JavaScript 错误)