2012-04-10 2 views
1

Ich habe ein einfaches Problem mit Array, ich kann nicht gelöst werden.Mehrere Array JS

Beispiel: http://jsfiddle.net/8jyUT/

Warum zweite console.log das Array nicht korrekt angezeigt?

(Ich bin auf Chrome)

+0

Es ist der Unterschied, wenn Sie Array oder Wert im Array protokollieren. – Zaffy

+0

Was meinen Sie mit "wird nicht korrekt angezeigt"? Können Sie Ihren Code tatsächlich in die Frage einfügen, sowie die erwarteten Ergebnisse + tatsächlichen Ergebnisse. – rlemon

+0

[Stack Overflow ist kein Mind Reader] (http://meta.stackexchange.com/a/128551/169101?what-stack-overflow-is-not). –

Antwort

3

Es ist das Array anmelden, aber es scheint leer, weil Sie es nicht numerisch bevölkern haben (das ist, wie Arrays bestückt sein sollte). Sie können weiterhin die name Eigenschaft des Arrays zuzugreifen,

var albums = new Array(); 
var album = new Array(); 
album['name'] = 'This is War'; 
albums.push(album); 

console.log(albums);    
console.log(albums[0].name);​ 

in JS, kann jedes Objekt Eigenschaften aufweisen und Arrays sind Objekte. Wenn Sie keine Verwendung für die numerische Reihenfolge für die album noch eine der Array-Methoden haben, dann ein Objekt und nicht einen Array verwenden:

var albums = [], album = {}; 
album['name'] = 'Test'; 
albums.push(album) 

console.log(albums);    
console.log(albums[0].name);​ 
+0

Vielen Dank für die Erklärung! – Wifsimster

0

Ich war in der Lage, den Wert zu erhalten, indem das Hinzufügen ['name'] anzuzeigen. Ich bin mir nicht sicher, wie viel das hilft. Wenn Sie Ihren aktuellen Code überprüfen, wird angezeigt, dass es sich um ein Array handelt. Sie müssen jedoch den zweiten Index für einen anzuzeigenden Wert angeben. Wenn Sie etwas mit mehr Eigenschaften machen wollen, würde ich ein Objekt und kein Array vorschlagen.