javascript - 在 JavaScript 中删除对象数组中的重复对象

标签 javascript jquery arrays

Object1 = {connectorIndex: 1, nodeID: 6, Connectors: Object}
Object2 = {connectorIndex: 1, nodeID: 6, Connectors: Object}
Connector: {name: "ALAND", key: "", description: "Departure country (country from which the goods are sent)"}

同一个数组中有两个对象。连接器对象是相同的。如何删除重复元素并获得包含一个对象的最终数组?

var array = [object 1, object 2];

对象 2 是要从数组中删除的副本。

最佳答案

如果您正在寻找完全匹配,这会做到这一点:

function remove_duplicates(objectsArray) {
    var usedObjects = {};

    for (var i=objectsArray.length - 1;i>=0;i--) {
        var so = JSON.stringify(objectsArray[i]);

        if (usedObjects[so]) {
            objectsArray.splice(i, 1);

        } else {
            usedObjects[so] = true;          
        }
    }

    return objectsArray;

}

var objectsArray = [{a:'foo',b:'bar'}, {a:'foo',b:'bar'}];
var clean = remove_duplicates(objectsArray);

关于javascript - 在 JavaScript 中删除对象数组中的重复对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26943242/

相关文章:

javascript - 基于索引数组过滤数组

javascript - 从基于文本的内容中删除某些 html 标签

javascript - 如何获取选择框中给定选项的索引值

jquery - 在 setInterval 结束时调用函数

javascript - 不要在随机淡入/淡出中依次显示相同的 div

javascript - for循环无限持续javascript

python - 在 Python 中比较和更新数组值

javascript - 图表 - 实现有序、异步脚本加载?

javascript - 按钮悬停问题的背景过渡

javascript - 数据库查询中的异步