Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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
Javascript JS:比较数组的对象并删除重复项_Javascript_Arrays - Fatal编程技术网

Javascript JS:比较数组的对象并删除重复项

Javascript JS:比较数组的对象并删除重复项,javascript,arrays,Javascript,Arrays,我有两个包含对象的数组: var oldUsers = [{"name": "Sam", "ext": 12}, {"name": "John", "ext": 15}]; var newUsers = [{"name": "John", "ext": 15}, {"name": "Jim", "ext": 19}]; 现在我想从两个数组中删除对象,这两个数组都在。在本例中,我试图从两个数组中删除{“name”:“John”,“ext”:15}。两个数组都包含200个或更多对象,最后我需要处理

我有两个包含对象的数组:

var oldUsers = [{"name": "Sam", "ext": 12}, {"name": "John", "ext": 15}];
var newUsers = [{"name": "John", "ext": 15}, {"name": "Jim", "ext": 19}];
现在我想从两个数组中删除对象,这两个数组都在。在本例中,我试图从两个数组中删除
{“name”:“John”,“ext”:15}
。两个数组都包含200个或更多对象,最后我需要处理未删除的对象,因此最后我的数组必须如下所示:

var oldUsers = [{"name": "Sam", "ext": 12}];
var newUsers = [{"name": "Jim", "ext": 19}];
你们有没有人知道如何解决这个问题,比如通过数组循环?我需要将数组与许多对象进行比较,然后想用
splice()
或类似的东西从两个数组中删除重复的条目


提前谢谢

最好为一个数组中找到的所有项目创建一组键(例如,构建为
”:“
,具体取决于其唯一性),然后遍历另一个数组检查是否存在。然后对“交换”的数组运行相同的操作。

这将非常低效,您必须首先将一个数组中的每个对象与另一个数组中的每个对象进行比较。您不能使用
==
===
进行比较,因为它们在比较不同对象时总是返回false。因此,您还需要一个比较函数来迭代每个对象的属性,以查看另一个对象是否具有相同的属性和值。试一试,把你试过的贴出来。