javascript从对象数组中删除重复项

时间:2020-07-04 18:35:55

标签: javascript duplicates

我有下面的对象数组,

var parsedData =  [
        {
            "ID": "16",
            "DESCRIPTION": "SMAATO"
        },
        {
            "ID": "26",
            "DESCRIPTION": "BIDSWITCH"
        },
        {
            "ID": "1572",
            "DESCRIPTION": "BIDSWITCH"
        }
    ]

我已使用以下代码从其中删除了重复项

var flags = [], l = parsedData.length, i;
            for( i=0; i<l; i++) {
                if( flags[parsedData[i].DESCRIPTION]){ 
                    if(attribute.toLowerCase() == "supply"){
                        console.log("coming!!"+parsedData[i].ID+"---"+parsedData[i].DESCRIPTION);                       
                    }
                    continue;                   
                }
                flags[parsedData[i].DESCRIPTION] = true;
                groups_array.push({     
                    id: parsedData[i].ID, 
                    text: parsedData[i].DESCRIPTION
                });                 
            }

但是我需要达到的是,如果id不同并且描述相同,则意味着需要将id附加到第一个,并像这样删除重复的一个,

[
    {
        "ID": "16",
        "DESCRIPTION": "SMAATO"
    },
    {
        "ID": "26,1572",
        "DESCRIPTION": "BIDSWITCH"
    }
]

请问该如何获得帮助...

1 个答案:

答案 0 :(得分:1)

尝试:

if (flags[parsedData[i].DESCRIPTION]) {
    let id = groups_array.map(item => item.text).indexOf(parsedData[i].DESCRIPTION);
    groups_array[id].id = groups_array[id].id + "," + parsedData[i].ID
    continue;                   
}
相关问题