使用 Lodash 从集合中删除 "column" 的最佳方法?
Best way to remove a "column" from a collection using Lodash?
我想使用 Lodash 从 JavaScript 中的集合(对象数组)中删除一个或多个 "columns"。
例如,在以下集合中:
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
returns一个新对象,each
对数组没有任何作用。
您想使用 map
获取包含新对象的新数组:
users = _.map(users, function(user) {
return _.omit(user, function(value, key) {
return key.charAt(0) == "a";
});
});
我想使用 Lodash 从 JavaScript 中的集合(对象数组)中删除一个或多个 "columns"。
例如,在以下集合中:
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 aneach
loop.
因为omit
returns一个新对象,each
对数组没有任何作用。
您想使用 map
获取包含新对象的新数组:
users = _.map(users, function(user) {
return _.omit(user, function(value, key) {
return key.charAt(0) == "a";
});
});