从具有特定属性= x的数组中删除所有对象的最简单方法是什么?
答案 0 :(得分:2)
使用_.filter
var result = _.filter(arr, function(item) {
return !("prop" in item);
});
如果要将其限制为每个项目的直接属性,请使用
var result = _.filter(arr, function(item) {
return !item.hasOwnProperty("prop");
});
答案 1 :(得分:0)
似乎最简单的方法是使用filter
方法:
var newArray = _.filter(oldArray, function(x) { return !('prop' in x); });
// or
var newArray = _.filter(oldArray, function(x) { return !_.has(x, 'prop'); });
或者,reject
方法也可以正常工作:
var newArray = _.reject(oldArray, function(x) { return 'prop' in x; });
// or
var newArray = _.reject(oldArray, function(x) { return _.has(x, 'prop'); });
更新鉴于您的更新问题,代码应如下所示:
var newArray = _.filter(oldArray, function(x) { return x.property !== 'value'; });
或者像这样
var newArray = _.reject(oldArray, function(x) { return x.property === 'value'; });