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

标签 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]);
    }
  }
}

最佳答案

我将在数组原型(prototype)上使用过滤器和一些方法

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

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

关于javascript - 比较两个数组并获取仅包含在一个数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562485/

相关文章:

php - 市场上有成熟的 php 和 javascript 解析器生成器吗?

javascript - 原型(prototype)继承。 obj->C->B->A,但 obj.constructor 是 A。为什么?

javascript - 向本地存储添加一个值,而不是替换它

javascript - 基于用户选择的数组与 Raphael、jQuery/JavaScript 的交集

javascript - Firefox 43 似乎破坏了 W3C (navigator.geolocation) 定位服务

javascript - 如何从 url 获取动态页面

javascript - getElementById 与 $ ('#element' )

javascript - testcomplete 中的 onlogerror 事件

javascript - 无法在 Tr>Div 中附加子对象

javascript - 尝试使用 ui Angular 创建模态模板