比较两个数组并获取仅包含在一个数组中的元素

时间:2016-02-22 19:46:44

标签: javascript

我有两个数组。我想找到具有仅包含在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]);
    }
  }
}

1 个答案:

答案 0 :(得分:1)

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

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

这将返回仅在oldDataarr

中找到的元素数组