[...[...'...']].length
In der gegebenen Quizfrage wurden wir gefragt, welchen Wert der Ausdruck [...[...'...']].length
hat. Die richtige Antwort ist '3'.
JavaScript hat einige eingebaute Funktionen und Eigenschaften, die mit Arrays arbeiten können, und eine davon ist die .length
Eigenschaft. Sie gibt die Anzahl der Elemente in einem Array zurück.
.length
EigenschaftWenn Sie ein Array wie folgt haben: let array = [1, 2, 3, 4, 5]
, und Sie array.length
ausführen, wird '5' als Ergebnis zurückgegeben, da es 5 Elemente im Array gibt.
In der Quizfrage sehen wir jedoch ein etwas komplexeres Beispiel. Hier haben wir ein Array ['...', '...', '...']
das mit dem Spread-Operator ...
entpackt wird, um ein einzelnes Array zu erstellen: [...['...', '...', '...']]
. Wenn wir nun die .length
Eigenschaft auf dieses Array anwenden, wird '3' zurückgegeben, da es aus drei Elementen besteht.
Der Spread-Operator ist ein nützliches Werkzeug in JavaScript, das es ermöglicht, ein iterierbares Objekt, wie z.B. ein Array, in einzelne Elemente oder Eigenschaften aufzuteilen. Er ist besonders nützlich, wenn Sie die Elemente eines Array zur Initialisierung eines neuen Arrays verwenden möchten.
Im obigen Beispiel haben wir durch ...'...'
ein Array aus Strings erstellt. Der Spread-Operator ist hier jedoch nicht zwingend notwendig. Ohne ihn hätten wir das gleiche Resultat erzielt, da die .length
Eigenschaft die Anzahl der Elemente im Array zählt, unabhängig davon, wie sie hinzugefügt wurden.
.length
EigenschaftDie .length
Eigenschaft zählt nur die Elemente im Array. Wenn die Elemente selbst Arrays oder andere Objekte sind, zählt .length
diese als einzelne Elemente und nicht die in ihnen enthaltenen Elemente. Um die Elemente innerhalb von verschachtelten Arrays zu zählen, müsste man durch jedes Element im Array iterieren und jede .length
separat addieren.
Es ist wichtig zu bedenken, dass die .length
Eigenschaft nicht unbedingt die Anzahl der definierten Elemente in einem Array darstellt. Ein Array kann "Löcher" haben – Indizes, an denen keine Werte definiert sind – und .length
gibt die höchste definierte Indexnummer plus eins zurück, nicht die Anzahl der definierten Indizes. In der Praxis sollte man jedoch versuchen, Arrays ohne "Löcher" zu erstellen, um Verwirrung und unerwartetes Verhalten zu vermeiden.