Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用2参数过滤器从对象中删除多个对象(角度)_Angular_Filter - Fatal编程技术网

Angular 使用2参数过滤器从对象中删除多个对象(角度)

Angular 使用2参数过滤器从对象中删除多个对象(角度),angular,filter,Angular,Filter,如何通过基于多个值进行过滤从数组中删除对象 下面是我的代码: removeArray.filter(function(ra) { fullArray.controls = fullArray.controls.filter(function(sa) { return sa.value.name!== ra.value.name && sa.value.product !== ra.value.product; }); }); 问题在于这一行:

如何通过基于多个值进行过滤从数组中删除对象

下面是我的代码:

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
这似乎会删除具有名称或产品匹配的对象,而不是同时具有名称和产品匹配的对象,即!==似乎使&&作为| |工作

我希望它只删除名称和产品都匹配的对象

!(sa.value.name=== ra.value.name && sa.value.product === ra.value.product)

同时将功能更改为箭头功能

removeArray.filter((ra) => {
    fullArray.controls = fullArray.controls.filter((sa) =>
          sa.value.name!== ra.value.name || sa.value.product !== ra.value.product
    );
  });

需要注意的是,代码很难闻,因为您反复设置了fullArray.controls,所以整个代码似乎不正确

您的期望是什么?我希望它删除名称和产品匹配的对象。也就是说,如果我使用===而不是==
removeArray.filter((ra) => {
    fullArray.controls = fullArray.controls.filter((sa) =>
          sa.value.name!== ra.value.name || sa.value.product !== ra.value.product
    );
  });