2014-06-13 8 views
-4

Je reçois l'erreur suivante pour la troisième ligne:tableau méthode push ne fonctionne pas correctement

Can not set property accountName of Undefined

Quelqu'un peut-il aider?

var temp = []; 
temp.accountId = newData.Account.Id; 
temp.accountType = newData.Account.Type; 
temp.accountholder.accountName = newData.Account.Name; 

finaloutput.push(temp); 
+0

Vous montrez un comportement intéressant en Javascript avec ceci. Mais je ne sais pas si vous définissez 'temp.accountholder' explicitement avant ?;) – loveNoHate

+0

finaloutput array a accountholder – user3421352

+1

' temp.accountholder' est indéfini. Faites-le pas indéfini et vous n'aurez pas ce problème. –

Répondre

1

Réglez temp.accountholder à l'avance.

var temp =[]; 
temp.accountId = newData.Account.Id; 
temp.accountType = newData.Account.Type; 
temp.accountholder = {};  
temp.accountholder.accountName = newData.Account.Name; 

finaloutput.push(temp); 
+2

Le 'temp.accountholder ||' peut être supprimé. Cela ne fait rien d'utile là-bas. –

+0

C'est vrai. La température est déclarée juste avant donc il n'y a aucun risque d'écraser les données existantes – amenadiel

+0

La partie amusante est, vous pouvez aussi faire 'temp.accountholder = []'. Une visite à Stackoverflow et le mysticisme brille à nouveau! %) P – loveNoHate

Questions connexes