如何删除一个属性并使用新属性更新模型

时间:2017-08-08 09:26:35

标签: javascript jquery sapui5

我有一个具有以下属性的JSOn模型:

oData:
Object
answers
:
Array(18)
0
:
Object
1
:
Object
2
:
Object
3
:
Object
4
:
Object
5
:
Object
6
:
Object
7
:
Object
8
:
Object
9
:
Object
10
:
Object
11
:
Object
12
:
Object
13
:
Object
14
:
Object
15
:
Object
16
:
Object
17
:
Object
length
:
18
__proto__
:
Array(0)
auditNeeded
:
false
cancelledAt
:
null
cancelledBy
:
null
dbId
:
0
description
:
null
hardeningLevelHigh
:
false
lastSavedAt
:
null
lastSavedBy
:
null
manager
:

projectId
:
null
scenario
:
null
secConceptComment
:
null
secConceptNeededAfterValidation
:
false
secConceptNeededSelfAssessment
:
false
secConceptStatus
:
null
status
:
null
submittedAt
:
null
submitter
:
null

正如您所看到的,我在第一个属性中获得了一系列asnsers,其中每个答案都具有如下结构:

oData:
Object
answers
:
Array(18)
0
:
Object
active
:
false
answer
:
true
explanation
:
"Tooltip 1"
feedback
:
null
id
:
0
question
:
"Is personal data being processed?"
questionId
:
7
versionId
:
0

我需要从我的模型中删除上面的答案数组,并在现有模型中包含一个具有相同答案结构的新数组。

1)如何从模型中删除答案对象。

2)如何在同一模型中包含我新创建的答案模型。

谢谢!

2 个答案:

答案 0 :(得分:0)

要删除答案属性,只需执行此操作

delete myObj.answers;

在数组中添加新对象也退出了简单

myObj["answer"] = [];

答案 1 :(得分:0)

您可以使用解决方案https://jsfiddle.net/vbhakrfb/

var data = {answer: [
  {"a": "A"},
  {"b": "B"},
  {"c": "C"}
]};

console.log("Before deleting: ", data);

delete data.answer;

console.log("After deleting: ", data);

data.answer = [
  {"newa" : "A"},
  {"newb" : "B"}
];

console.log("Added new Answer: ", data);