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

时间:2016-02-19 00:47:56

标签: 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}];
var newUsers = [{"name": "Jim", "ext": 19}];

你是否有人知道如何通过循环数组来解决这个问题?我需要将数组与大量对象进行比较,然后想要使用splice()或两个数组中的类似内容删除重复的条目。

提前致谢!

1 个答案:

答案 0 :(得分:0)

最好为一个数组中的所有项创建一组键(例如,构建为"<name>:<ext>",具体取决于唯一的),并遍历另一个数组检查是否存在。然后为数组运行相同的东西&#34;交换&#34;。