带有命名和编号索引的 Javascript 多维对象

标签 javascript object multidimensional-array

如何将这个结构存储在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]);

enter image description here

最佳答案

您需要在分配每个对象的属性之前初始化它们。尝试添加这个;

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/

相关文章:

javascript - Apps 脚本写入 Big Query 未知错误

javascript - 检查对象属性值是否为 false

javascript - 对于 JavaScript 数组和对象,我应该使用哪个 for 循环?

Javascript 将数据从一个对象分配给另一个对象会添加重复项

java - 将文件中的数据加载到二维数组中

java - 比较单独二维数组中的两个数组

javascript - 自动调整 div 标签的大小

javascript - 从 IOS 发送事件到 JS

javascript - 小数到分数转换器 jQuery 的过度简化

C - 包含链表的数组