Angular5 如何比较两个(JSON)对象数组,并在找到匹配项时删除?

3
如果我有两个包含(JSON)对象的数组,并且我想比较它们并在匹配时削减一个对象,最好的方法是什么。
例子:
数组1:
[{test: 1, test2: 2}, {test: 3, test2: 5}, {test: 6, test2: 8}]

数组 2:

[{test: 6, test2: 8}, {test: 1, test2: 2}]

现在我们看到Array 1索引0和Array 2索引1是匹配的。 现在我想从数组1中拼接对象。 有没有一种好的/聪明的方法来实现这个? 谢谢!
2个回答

4

尝试使用过滤器,它将循环遍历array1并返回与条件匹配的元素数组(即在array2中不存在的元素)。

array2.foreach((element) => {
 array1 = array1.filter((element1) => {
   return element1 !== element;
 })
})

谢谢@FatehMohamed,我会测试一下,如果能正常工作,我会接受它作为解决方案。首先,我会研究代码的具体功能是什么。 - Hans
感谢您提供的解决方案,非常完美。 - Hans

1
    using filter you can remove duplicate by compare tow array object in loop and filter return result array 

    this.array2.forEach((item2) => {

     this.array1 = this.array1.filter((item1) => {
       //use JSON.stringify() to compare tow objects
       return JSON.stringify(item1) !== JSON.stringify(item2);
     })

    })
    console.log(this.array1);

请在您的回答中添加更多详细信息。为什么这样做能够奏效?您解决的问题是什么?这将使原帖作者和未来的读者更容易理解他们的问题。 - Terru_theTerror

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接