无法访问对象中的嵌套数组

时间:2016-10-27 14:02:32

标签: javascript arrays javascript-objects nested-properties

我有一个索引号集合的对象。在每个数字下面有两个属性和一个数组。我正在尝试编写一个函数,它将接受索引号,要更新的属性和值的参数。到目前为止,我无法弄清楚如何访问数组。

var myObject = 
{
"0001":
  {
  "prop1": ""
  "prop2": ""
  "prop3": []
  }

要访问prop1和prop2,我只能使用if语句:

if (prop == "prop1 ")
{
  collection[id].prop1 = value;
}
else if(prop == "prop2")
{
  collection[id].prop2 = value;
}

当我试图进入阵列时,它崩溃了。我尝试了一些似乎最符合逻辑的东西:

 if(prop == "prop3")
 {
   collection[id].prop3.push(value);
 }

我在哪里错了?

1 个答案:

答案 0 :(得分:0)

也许你需要先创建一个数组。

if (prop == "tracks") {
    collection[id].tracks = collection[id].tracks || [];
    collection[id].tracks.push(value);
}