js json 数组内对象 如何去重 合并 es6 标准 怎么写

[
            {
                "problems": "环境认识障碍综合征",
                "implement": [
                    {
                        "name": "记忆训练",
                        "id": "593644b12455b42ab4aa735d"
                    },
                    {
                        "name": "促进脑灌注",
                        "id": "5953483e0737cd9105d5f2ac"
                    }
                ]
            },
            {
                "problems": "环境认识障碍综合征",
                "implement": [
                    {
                        "name": "记忆训练",
                        "id": "593644b12455b42ab4aa735d"
                    },
                    {
                        "name": "神经系统检测",
                        "id": "5953488d0737cd9105d5f2ae"
                    }
                ]
            },
            {
                "problems": "记忆受损",
                "implement": [
                    {
                        "name": "记忆训练",
                        "id": "593644b12455b42ab4aa735d"
                    },
                    {
                        "name": "神经系统检测",
                        "id": "5953488d0737cd9105d5f2ae"
                    }
        ]

像这样的对象内数组 如何进行去重 合并:合并后

[{
                "problems": "环境认识障碍综合征",
                "implement": [
                    {
                        "name": "记忆训练",
                        "id": "593644b12455b42ab4aa735d"
                    },
                    {
                        "name": "神经系统检测",
                        "id": "5953488d0737cd9105d5f2ae"
                    },{
                        "name": "促进脑灌注",
                        "id": "5953483e0737cd9105d5f2ac"
                    }
                ]
            },{
                "problems": "记忆受损",
                "implement": [
                    {
                        "name": "记忆训练",
                        "id": "593644b12455b42ab4aa735d"
                    },
                    {
                        "name": "神经系统检测",
                        "id": "5953488d0737cd9105d5f2ae"
                    }]

该如何写

阅读 6.5k
1 个回答
var items = [{
        "problems": "环境认识障碍综合征",
        "implement": [{
                "name": "记忆训练",
                "id": "593644b12455b42ab4aa735d"
            },{
                "name": "促进脑灌注",
                "id": "5953483e0737cd9105d5f2ac"
            }]
    },{
            "problems": "环境认识障碍综合征",
            "implement": [{
                    "name": "记忆训练",
                    "id": "593644b12455b42ab4aa735d"
                },{
                    "name": "神经系统检测",
                    "id": "5953488d0737cd9105d5f2ae"
                }]
        },
        {
            "problems": "记忆受损",
            "implement": [{
                    "name": "记忆训练",
                    "id": "593644b12455b42ab4aa735d"
                },{
                    "name": "神经系统检测",
                    "id": "5953488d0737cd9105d5f2ae"
                }]
        }];
var middleArrs = [];
for (item in items) {
    var i = 0;
    for (; i < middleArrs.length; i++) {
        if (middleArrs[i].problems === item.problems){
            for (param in items.implement) {
                var j = 0;
                for (; j < middleArrs.implement.length; j++) {
                    if (middleArrs[i].implement[j].id === param.id){
                        break;
                    }
                }
                if (j === middleArrs.length) {
                    middleArrs[i].implement[j].push(param);
                }
            }
        }
    }
    if (i === middleArrs.length) {
        middleArrs.push(item);
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题