Не может получить доступ к вложенному массиву в объекте

У меня есть объект, который представляет собой набор номеров индекса. Под каждым номером есть два свойства и массив. Я пытаюсь написать функцию, которая будет принимать аргументы номера индекса, свойства, которые будут обновлены, и значения. Пока я не могу понять, как получить доступ к массиву.

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 ответ

Может быть, вам нужно сначала создать массив.

if (prop == "tracks") {
    collection[id].tracks = collection[id].tracks || [];
    collection[id].tracks.push(value);
}
Другие вопросы по тегам