我有两个数组。我想找到具有仅包含在oldDataarr中的属性的元素。

我尝试了这个:

for (var k = 0; k < oldDataarr.length; k++) {
  var checker = false;
  for (var l = 0; l < compaar.length; l++) {
    if (oldDataarr[k].name === compaar[l].name && oldDataarr[k].postalCode === compaar[l].postalCode) {
      checker == true;
    }else if (l===compaar.length-1 && checker===false) {
      console.log(oldDataarr[k]);
    }
  }
}

最佳答案

我会在数组原型上使用过滤器和一些方法

oldDataarr.filter(function(data) {
  return !compaar.some(function(compData) {
    return data.name === compData.name &&
           data.postalCode === compData.postalCode
  });
});


这将返回仅在oldDataarr中找到的元素数组

09-25 15:17