如何修改嵌套对象的属性?
how to modify properties of an nested object?
我有以下嵌套对象,我需要将 "alias" 属性 留空,并将所有 "entries" 的 "group" 属性 设置为 true和 "exits"。我还需要删除整个 "parameters" 对象。
有没有一种方法可以在一个函数中完成所有工作?我尝试应用 delete Object 方法,但它不起作用,因为它是一个索引对象。
{
"1": {
"x": 114,
"y": 135,
"properties": {
"id": 1,
"entries": {
"entry_0": {
"id": 1,
"alias": "do",
"group": false
}
},
"exits": {
"exit_0": {
"id": 1,
"alias": "re",
"group": false
}
},
"parameters": {
"parameter_0": {
"id": 3,
"group": false
}
},
"order": 1
}
},
"2": {
"x": 700,
"y": 104,
"properties": {
"id": 1
"entries": {
"entry_0": {
"id": 1
"alias": "do"
"group": false
}
},
"exits": {
"exyt_0": {
"id": 1
"alias": "re"
"group": false
}
},
"parameters": {
"parameter_0": {
"id": 3
"alias": "mi"
"group": false
}
},
"order": 2
}
}
}
所需的嵌套对象如下
{
"1": {
"x": 114,
"y": 135,
"properties": {
"id": 1,
"entries": {
"entry_0": {
"id": 1,
"alias": "",
"group": true
}
},
"exits": {
"exit_0": {
"id": 1,
"alias": "",
"group": true
}
},
"order": 1
}
},
"2": {
"x": 700,
"y": 104,
"properties": {
"id": 1
"entries": {
"entry_0": {
"id": 1
"alias": ""
"group": true
}
},
"exits": {
"exyt_0": {
"id": 1
"alias": ""
"group": true
}
},
"order": 2
}
}
}
我尝试了以下方法,设法删除了 "parameters" 对象,但我无法访问每个 "entry" 的 "label" 属性 和“退出
const nedtedObjectsValues = Object.values(nestedObjects);
for (object of nedtedObjectsValues) {
delete object.properties.parameters;
}
如果有人能告诉我如何处理这个函数。
提前谢谢你。
在JavaScript中,要引用数值对象属性,需要使用方括号语法:
object.1 // bad
object[1] // good
您可以像这样删除数字 属性:
delete object[1];
我有以下嵌套对象,我需要将 "alias" 属性 留空,并将所有 "entries" 的 "group" 属性 设置为 true和 "exits"。我还需要删除整个 "parameters" 对象。 有没有一种方法可以在一个函数中完成所有工作?我尝试应用 delete Object 方法,但它不起作用,因为它是一个索引对象。
{
"1": {
"x": 114,
"y": 135,
"properties": {
"id": 1,
"entries": {
"entry_0": {
"id": 1,
"alias": "do",
"group": false
}
},
"exits": {
"exit_0": {
"id": 1,
"alias": "re",
"group": false
}
},
"parameters": {
"parameter_0": {
"id": 3,
"group": false
}
},
"order": 1
}
},
"2": {
"x": 700,
"y": 104,
"properties": {
"id": 1
"entries": {
"entry_0": {
"id": 1
"alias": "do"
"group": false
}
},
"exits": {
"exyt_0": {
"id": 1
"alias": "re"
"group": false
}
},
"parameters": {
"parameter_0": {
"id": 3
"alias": "mi"
"group": false
}
},
"order": 2
}
}
}
所需的嵌套对象如下
{
"1": {
"x": 114,
"y": 135,
"properties": {
"id": 1,
"entries": {
"entry_0": {
"id": 1,
"alias": "",
"group": true
}
},
"exits": {
"exit_0": {
"id": 1,
"alias": "",
"group": true
}
},
"order": 1
}
},
"2": {
"x": 700,
"y": 104,
"properties": {
"id": 1
"entries": {
"entry_0": {
"id": 1
"alias": ""
"group": true
}
},
"exits": {
"exyt_0": {
"id": 1
"alias": ""
"group": true
}
},
"order": 2
}
}
}
我尝试了以下方法,设法删除了 "parameters" 对象,但我无法访问每个 "entry" 的 "label" 属性 和“退出
const nedtedObjectsValues = Object.values(nestedObjects);
for (object of nedtedObjectsValues) {
delete object.properties.parameters;
}
如果有人能告诉我如何处理这个函数。 提前谢谢你。
在JavaScript中,要引用数值对象属性,需要使用方括号语法:
object.1 // bad
object[1] // good
您可以像这样删除数字 属性:
delete object[1];