如何将这个结构存储在javascript对象中,尝试了很多方法,但找不到完整的解决方案。
var Scheduling = new Object();
//first Milestone
Scheduling[0]['MilestoneName'] = "Milestone One";
//Subtask List
Scheduling[0]['SubTask'][0]['SubTaskName'] = "SubTask One";
Scheduling[0]['SubTask'][0]['CompletionPercent'] = "50";
Scheduling[0]['SubTask'][1]['SubTaskName'] = "SubTask Two";
Scheduling[0]['SubTask'][1]['CompletionPercent'] = "80";
//Second Milestone
Scheduling[1]['MilestoneName'] = "Milestone Two";
Scheduling[1]['SubTask'][0]['SubTaskName'] = "SubTask One";
Scheduling[1]['SubTask'][0]['CompletionPercent'] = "20";
Scheduling[1]['SubTask'][1]['SubTaskName'] = "SubTask Two";
Scheduling[1]['SubTask'][1]['CompletionPercent'] = "15";
console.log(JSON.stringify[x]);
最佳答案
您需要在分配每个对象的属性之前初始化它们。尝试添加这个;
Scheduling[0]={};
并且您需要在分配属性之前初始化每个嵌套对象和数组。
我更新了代码的第一部分,如下所示:
var Scheduling = new Object();
Scheduling[0] = {};
//first Milestone
Scheduling[0]['MilestoneName'] = "Milestone One";
//Subtask List
Scheduling[0]['SubTask'] = [];
Scheduling[0]['SubTask'][0] = {};
Scheduling[0]['SubTask'][0]['SubTaskName'] = "SubTask One";
Scheduling[0]['SubTask'][0]['CompletionPercent'] = "50";
Scheduling[0]['SubTask'][1] = {};
Scheduling[0]['SubTask'][1]['SubTaskName'] = "SubTask Two";
Scheduling[0]['SubTask'][1]['CompletionPercent'] = "80";
console.log(Scheduling);
关于带有命名和编号索引的 Javascript 多维对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811605/