美文网首页
合并数组对象相同的值

合并数组对象相同的值

作者: 抽疯的稻草绳 | 来源:发表于2021-08-19 11:47 被阅读0次
image.png
 var arr = [{
            "fk213": "市委应对新冠肺炎疫情工作领导小组",
            "fk221": "43523",
            "fk222": "45243",
            "fk882": "市委应对新冠肺炎疫情工作领导小组",
            "fk220": "工作职责",
            "fk492": "52",
            "fk493": "18643333333",
            "fk218": "组员职务",
            "fk219": "3453",
            "fk216": "5235",
            "fk217": "组员",
            "fk214": "组长",
            "fk215": "54324"
        }, {
            "fk213": "市委应对新冠肺炎疫情工作领导小组",
            "fk221": "43523",
            "fk222": "45243",
            "fk882": "市委应对新冠肺炎疫情工作领导小组",
            "fk220": "工作职责",
            "fk492": "52",
            "fk493": "18643333333",
            "fk218": "组员职务",
            "fk219": "3453",
            "fk216": "5235",
            "fk217": "组员",
            "fk214": "组长",
            "fk215": "54324"
        }, {
            "fk213": "市委应对新冠肺炎疫情工作领导小组",
            "fk221": "34",
            "fk222": "4434",
            "fk882": "市委应对新冠肺炎疫情工作领导小组",
            "fk220": "34",
            "fk492": "3",
            "fk493": "15978333333",
            "fk218": "组员职务",
            "fk219": "34",
            "fk216": "43",
            "fk217": "43",
            "fk214": "343",
            "fk215": "组长职务"
        }, {
            "fk213": "市委应对新冠肺炎疫情工作领导小组",
            "fk221": "34",
            "fk222": "4434",
            "fk882": "市委应对新冠肺炎疫情工作领导小组",
            "fk220": "34",
            "fk492": "3",
            "fk493": "15978333333",
            "fk218": "组员职务",
            "fk219": "34",
            "fk216": "43",
            "fk217": "43",
            "fk214": "343",
            "fk215": "组长职务"
        }]
        console.log(arr)

        // 合并数据
        function mergeData(arr, val = "fk213") {
            let map = {}
            let mapArray = []
            for (const i in arr) {
                let item = arr[i]
                map[item[val]] = {
                    arr: (map[item[val]] ? map[item[val]].arr : []).concat([
                        item
                    ]),
                    "parentVal": item[val]
                }
            }
            for (let key in map) {
                mapArray.push(map[key])
            }
            return mapArray
        }

        console.log(mergeData(arr))

案列:


image.png

解决办法:


image.png

相关文章

网友评论

      本文标题:合并数组对象相同的值

      本文链接:https://www.haomeiwen.com/subject/xabobltx.html