【发布时间】:2016-04-09 13:13:41
【问题描述】:
我已经搜索和搜索,但找不到答案,所以如果我很愚蠢,请接受我的道歉。
我正在 node.js 中构建一个使用 JSON 文件作为项目配置的应用程序。我正在使用“fs”模块读取 JSON 文件,然后将其解析为 Javascript 对象。然后,我在使用 JSON.stringify 将数据写回文件之前修改对象中的详细信息。
我的问题是我需要删除一个数组,而不仅仅是清空它,以便在我的界面上正确显示数据:
"floors": [
{
"floorName": "Grd Floor",
"floorNotes": "",
"floorPlan": "Buckley_Grd.jpg",
"floorWidth": "57.392",
"floorHeight": "20.776",
"runs": [
[], *<----I cannot delete these*
[] *<----only empty them*
[
{
"xCoOrd": "37.88235294117647",
"yCoOrd": "59.307359307359306",
"drawingType": "node"
},
{
"xCoOrd": "37.88235294117647",
"yCoOrd": "59.307359307359306",
"drawingType": "node"
},
{
"xCoOrd": "48.549019607843135",
"yCoOrd": "50",
"drawingType": "node"
}
] *<----I don't want to delete the elements in this array*
]
}
我试过了:
.splice(0);
.filter(Boolean);
delete
我所看到的每一个地方,人们似乎都对想要从内存中删除一个未使用的数组感到惊讶,这就是我相信我正在尝试做的事情。也许有一种方法可以对忽略这些空数组的对象进行字符串化?或者也许我这样做完全错误?
非常感谢您提供的任何建议。
编辑:我应该更清楚一点,我不一定要删除数组中的所有元素,所以重新声明 floor.runs =[] 不幸的是对我没有帮助。
我试过了:
delete floors[floorID].runs[runID];
这会将数组替换为写入文件的 null 并破坏我对 JSON 的读取。
【问题讨论】:
-
你是如何尝试
delete的? -
您是否尝试将“运行”设置为
null? -
定义“删除数组”。澄清您到底尝试了什么,以及为什么它对您不起作用。
-
开个玩笑,myarray="deleted".... 原来的数组现在变成了别的东西 :)
标签: javascript json node.js