javascript - 如何修改嵌套对象的属性?
问题描述
我有以下嵌套对象,我需要将所有“条目”和“退出”的“别名”属性留空,并将“组”属性设置为 true。我还需要删除整个“参数”对象。有没有办法在一个函数中完成所有这些?我尝试应用 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
}
}
}
我尝试过的是以下,设法删除“参数”对象,但我无法访问每个“条目”和“退出”的“标签”属性
const nedtedObjectsValues = Object.values(nestedObjects);
for (object of nedtedObjectsValues) {
delete object.properties.parameters;
}
如果有人可以告诉我如何使用此功能。先感谢您。
解决方案
在 JavaScript 中,要引用数字对象属性,您需要使用方括号语法:
object.1 // bad
object[1] // good
您可以像这样删除数字属性:
delete object[1];
推荐阅读
- regex - 使用 bash 脚本从字符串中提取多个匹配的子字符串
- python - 为什么按钮在我的代码中保持按下状态?
- java - 如何从命令行运行 Intellij 项目
- oracle - SQL DEVELOPER 中的 SELECT 语句
- php - PHP 致命错误:未捕获的错误:不能使用 stdClass 类型的对象作为数组
- r - 识别功能在R中不准确
- python - 无法从“termcolor”导入名称“colored”
- r - 如何使用服务器端逻辑切换dashboardHeader中的禁用(TRUE / FALSE)参数?
- javascript - Redux 状态更新,但组件状态从第一次开始没有改变
- wordpress - 根据帖子请求发布 WordPress 帖子