0

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

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);
 }

我在哪里错了?

4

1 回答 1

0

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

if (prop == "tracks") {
    collection[id].tracks = collection[id].tracks || [];
    collection[id].tracks.push(value);
}
于 2016-10-27T14:06:52.987 回答