【发布时间】:2019-05-15 04:32:36
【问题描述】:
如何通过基于多个值的过滤从数组中删除对象?
下面是我的代码:
removeArray.filter(function(ra) {
fullArray.controls = fullArray.controls.filter(function(sa) {
return sa.value.name!== ra.value.name && sa.value.product !== ra.value.product;
});
});
问题出在这一行:
sa.value.name!== ra.value.name && sa.value.product !== ra.value.product
这似乎删除了名称或产品匹配的对象,而不是名称和产品匹配的对象(即,!== 似乎使 && 作为 || 工作)
我希望它只删除名称和产品都匹配的对象
【问题讨论】:
-
您的期望是什么?
-
我希望它删除名称 && 产品匹配的对象。即,如果我使用 === 而不是 !== ,则与过滤器相同