Was ist der Unterschied zwischen [undefiniert] und [,]? [Duplikat]

8

Geben Sie in Chrome 21 [,] an die Konsolenausgaben

aus
  

[undefiniert x 1]

und füttern [undefined] outputs

  

[undefiniert]

Was ist der Unterschied zwischen [undefined] und [undefined x 1] ?

Was ist die Schreibweise [undefined x 1] ?

    
Randomblue 04.08.2012, 13:11
quelle

4 Antworten

11

[,] ist ein Sparse-Array . Er hat eine Länge von 1 , aber keine Werte ( 0 in [,] === false ). Es kann auch als new Array(1) geschrieben werden.

[undefined] ist ein Array der Länge 1 mit dem Wert undefined am Index 0 .

Beim Zugriff auf die Eigenschaft " 0 " geben beide undefined zurück - die erste, weil diese Eigenschaft nicht definiert ist, die zweite, weil der Wert "undefiniert" ist. Die Arrays sind jedoch unterschiedlich und ihre Ausgabe in der Konsole .

    
Bergi 04.08.2012, 13:23
quelle
5

[,] erstellt ein Array mit der Länge 1 und ohne Indizes.

[undefined] erstellt ein Array mit der Länge 1 mit undefined -Wert am Index 0 .

Chrome undefined × x ist für Sparse-Arrays ohne sequenzielle Indizes:

%Vor%

Wenn Sie .forEach für ein Sparse-Array verwenden würden, überspringt es die Indizes, die nicht existieren.

%Vor%

Wenn Sie eine normale .length basierte Schleife verwenden:

%Vor%

Es gibt ein Problem, wenn Sie erwarten, dass .forEach sich wie Nicht-Standard-Implementierungen verhält.

%Vor%     
Esailija 04.08.2012 13:26
quelle
0

Das ist ungerade [] gibt nur wieder [] für mich auf Chrome 21 aus.

Anyway [a, b, c, ...] ist die Array-Notation von Javascript, so dass Sie grundsätzlich ein Array ohne Werte definieren.

Eine Endung , ist jedoch akzeptabel, um die Array-Generierung zu vereinfachen. Was Chrome Ihnen sagt, ist, dass es im Array einen undefinierten Wert gibt. Siehe Code für Beispiele.

%Vor%     
dualed 04.08.2012 13:24
quelle
-1

Es sieht so aus, als ob es nur eine Kurzform ist, um die wiederholten 'undefinierten' Werte anzuzeigen. zB:

%Vor%

Aber [] ist nicht dasselbe wie [undefined] überhaupt. Ich würde das überprüfen, wenn ich du wäre.

    
nickf 04.08.2012 13:16
quelle

Tags und Links