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