Javascript 从数组中删除重复出现的情况

Javascript 从数组中删除重复出现的情况,javascript,underscore.js,lodash,Javascript,Underscore.js,Lodash,我需要根据特定的条件检查从数组中删除重复的对象 如果此数组中有任何具有相同“连接器”、“地址”、“类型”值的对象,我需要删除该对象 array = [{ connector : 'smtp', name : 'john', address : 'john@gmail.com', type : 'cc' }, { connector : 'smtp', name : 'john',

我需要根据特定的条件检查从数组中删除重复的对象 如果此数组中有任何具有相同“连接器”、“地址”、“类型”值的对象,我需要删除该对象

array =  [{
        connector : 'smtp',
        name : 'john',
        address : 'john@gmail.com',
        type : 'cc'
    }, {
        connector : 'smtp',
        name : 'john',
        address : 'john@gmail.com',
        type : 'cc'
    }, {
        connector : 'gtp',
        name : 'mark',
        address : 'mark@gmail.com',
        type : 'cc'
    }, {
        connector : 'ftp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'bcc'
    },
    {
        connector : 'smtp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'cc'
    }
 ]
我需要像下面这样的输出

output = [{
        connector : 'smtp',
        name : 'john',
        address : 'john@gmail.com',
        type : 'cc'
    },{
        connector : 'gtp',
        name : 'mark',
        address : 'mark@gmail.com',
        type : 'cc'
    }, {
        connector : 'ftp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'bcc'
    },
    {
        connector : 'smtp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'cc'
    }
 ]

对不起,我尝试了一些重复的foreach循环,但最终没有结果。你能帮我找到任何有效的方法来做同样的事情吗

这可以在uniq的帮助下完成

array =  [{
        connector : 'smtp',
        name : 'john',
        address : 'john@gmail.com',
        type : 'cc'
    }, {
        connector : 'smtp',
        name : 'john',
        address : 'john@gmail.com',
        type : 'cc'
    }, {
        connector : 'gtp',
        name : 'mark',
        address : 'mark@gmail.com',
        type : 'cc'
    }, {
        connector : 'ftp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'bcc'
    },
    {
        connector : 'smtp',
        name : 'wiki',
        address : 'wiki@gmail.com',
        type : 'cc'
    }
 ]
 //generating a string of keys you wish to compare which forms the criteria for uniqueness
 add = _.uniq(array, function(a){ return a.connector + "-" + a.address + "-" + a.type;})

 console.log(add)

工作代码

添加您尝试查找underline.js库的代码。它们具有重复过滤功能。
uniqBy
也可以使用<代码>.\uqby(数组,obj=>obj.connector+'-'+obj.address+'-'+obj.type)
JSON.stringify
是一个改进的解决方案hope@Tushar你确定uniqBy不在doc@Cyril中吗?它在LodashUse中。Lodashy在中解释过,以避免比较字符串。