从对象数组中删除重复项并将其子数组合并为一个

问题描述 投票:0回答:1

我有一个对象数组,其中有一个数据索引作为子数组。对象数组返回重复值。所以我必须对它进行分组,以使其包含所有键字段,并将所有数据合并到数据中该数组的索引。

这是我得到的示例代码:

“ Todo”:[{“ AreaId”:4“ AreaName”:“大厅”,“序列”:3,“数据”:[{“ AssetId”:2一些其他字段,

                }
            ]
        },
        {
            "AreaId": 4,
            "AreaName": "Hall",
            "Sequence": 3,
            "Data": [
                {
                    "AssetId": 3,
                     Some OtherFields,
                }
            ]
        },


        {
                "AreaId": 2,
                "AreaName": "Hall",
                "Sequence": 1,
                "Data": [
                    {
                        "AssetId": 4,
                        Some OtherFields,

                    }
                ]
            },
            {
                "AreaId": 2,
                "AreaName": "Hall",
                "Sequence": 1,
                "Data": [
                    {
                        "AssetId": 3,
                         Some OtherFields,
                    }
                ]
            }

]

我希望此输出如下所述:

 "Todo": [
            {
                "AreaId": 4,
                "AreaName": "Hall",
                "Sequence": 3,
                "Data": [
                    {
                        "AssetId": 2,
                         Some OtherFields,
                    },
                    {
                        "AssetId": 3,
                        Some OtherFields,
                    }

                ]
            },




       {
            "AreaId": 2,
            "AreaName": "Hall",
            "Sequence": 3,
            "Data": [
                {
                    "AssetId": 4,
                     Some OtherFields,
                },
                {
                    "AssetId": 3,
                    Some OtherFields,
                }

            ]
        }

]

node.js merge duplicates grouping
1个回答
0
投票

您可以使用reduce合并对象:

© www.soinside.com 2019 - 2024. All rights reserved.