2016-10-27 1 views
0

J'ai un objet qui est une collection de nombres d'index. Sous chaque nombre, il y a deux propriétés et un tableau. J'essaye d'écrire une fonction qui acceptera des arguments du nombre d'index, de la propriété à mettre à jour, et de la valeur. Jusqu'à présent, je ne peux pas comprendre comment accéder au tableau.Impossible d'accéder au tableau imbriqué dans l'objet

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

Pour accéder prop1 et prop2 j'ai pu utiliser juste une instruction if:

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

Quand j'ai essayé d'obtenir le tableau, il est tombé en dehors. J'ai essayé quelques petites choses par le plus logique semblait être:

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

Où vais-je pas ici?

+0

'Lorsque j'ai essayé d'accéder à la baie, elle s'est effondrée. Quelle erreur avez-vous eu sur la console? – gurvinder372

Répondre

0

Peut-être que vous devez d'abord créer un tableau.

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

Le tableau existe déjà. Il est initialisé en tant que tableau vide. –

+0

ce que c'est l'erreur, vous obtenez? –

+0

Pas d'erreur, ne met pas à jour. Il semble presque que ce ne soit pas conforme aux conditions de la déclaration if et que l'on passe à autre chose. –