比较两个数组并使用新值更新,方法是使用javascript保持现有对象不用于对象的删除操作

比较两个数组并使用新值更新,方法是使用javascript保持现有对象不用于对象的删除操作,javascript,arrays,Javascript,Arrays,这是@Siderite Zackwehdex回答的后续问题 请检查此项,我将在changedArray1中获取已删除的对象。是否有任何选项可以修复此问题。对于其他更改(如添加、更新),它可以正常工作,但不适用于删除 我尝试实现的一个功能是添加一个额外的对象,即,“RemovedId”:[23],,它将删除的id作为数组保存在对象的每个级别中,并在求值过程中识别它们。。但是没有找到合适的解决方案 示例数据: var parentArray1=[ { "id": 1,

这是@Siderite Zackwehdex回答的后续问题

请检查此项,我将在changedArray1中获取已删除的对象。是否有任何选项可以修复此问题。对于其他更改(如添加、更新),它可以正常工作,但不适用于删除

我尝试实现的一个功能是添加一个额外的对象,即,
“RemovedId”:[23],
,它将删除的id作为数组保存在对象的每个级别中,并在求值过程中识别它们。。但是没有找到合适的解决方案

示例数据:

var parentArray1=[
    {
        "id": 1,
        "name": "test",
        "context": [
            {
                "operationalContextId": 1.1,
                "valueChainEntityDetails": [
                    {
                        "valuChainEntityId": 3,
                        "name": "test",
                        "context": [
                            {
                                "id": 3.1,
                                "name": "test 3.1",
                                "activityDetails": [
                                    {
                                        "activityId": 22,
                                        "name": "test 3.1"
                                    },
                                     {                   //trying to remove activity id 23
                                        "activityId": 23,
                                        "name": "changed test 23"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]



var changedArray1=[
    {
        "id": 1,
        "name": "test2",
        "context": [
            {
                "operationalContextId": 1.1,
                "valueChainEntityDetails": [
                    {
                        "valuChainEntityId": 3,
                        "name": "changed test3",
                        "context": [
                            {
                                "id": 3.1,
                                "name": "test 3.1",
                                 "removedIds":[23] ,
                                "activityDetails": [  //activity id 23 is removed in this JSON but reflecting in parentArray1
                                    {
                                        "activityId": 22,
                                        "name": "changed test 3.1"
                                    }

                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

JS在哪里?它在plunker中。我试图添加removedId的功能。它打破了现有的特性请将相关JS(适当减少到演示问题所需的部分)直接放到问题中。