In diesem Kapitel werden wir JavaScript-Arrays erforschen.
In JavaScript können Sie Arrays zum Speichern mehrerer Werte in einer einzigen Variablen verwenden.
Wir können ein Array als eine einzigartige Variable beschreiben, die in der Lage ist, mehrere Werte gleichzeitig zu speichern.
Es gibt zwei Syntaxe zum Erzeugen eines leeren Arrays:
let arr = new Array();
let arr = [];
Die zweite Syntax wird meist verwendet. Sie können Anfangselemente in den Klammern hinzufügen, so:
Sie können auch ein Element wie folgt ersetzen:
Oder Sie können einem Array ein Neues hinzufügen, so:
Die Array-Länge length ist die Gesamtanzahl der Elemente. Hier ist ein Beispiel:
Falls Sie das gesamte Array anzeigen wollen, können Sie console.log verwenden, so:
Ein Array kann jede Art von Elementen speichern:
Arrays können als eine spezielle Art von Objekten angesehen werden. Eine der auffälligsten Ähnlichkeiten ist, dass Arrays mit einem Komma enden können.
Zum Beispiel:
let books = [
"Html",
"Css",
"Javascript",
];
Methoden
Eine der häufigsten Verwendungen von Arrays ist eine Warteschlange. In der Informatik ist es bekannt als geordnete Zusammenstellung von Elementen, die die folgenden zwei Operationen unterstützen:
push - wird zum Anhängen eines Elements am Ende verwendet
shift - wird zum Abrufen eines Elements vom Anfang verwendet, was die Warteschlange vorrückt. Infolgedessen wird das zweite Element zum ersten.
Arrays unterstützen beide der oben genannten Operationen, und es ist eine weit verbreitete Praxis für Entwickler.
Sie können Arrays auch für eine andere Praxis verwenden. Es ist eine Datenstruktur namens Stapel, die zwei Operationen unterstützt:
push - es zielt darauf ab, ein Element am Ende hinzuzufügen.
pop - zielt darauf ab, ein Element vom Ende zu nehmen.
In JavaScript arbeiten Arrays sowohl als Warteschlange als auch als Stapel. Mit Hilfe von Arrays können Sie Elemente hinzufügen oder entfernen, entweder vom Anfang oder vom Ende.
Methoden, die mit dem Ende eines Arrays arbeiten
pop
Diese Methode wird zum Extrahieren und Zurückgeben des letzten Elements des Arrays verwendet. Zum Beispiel:
push
Sie können diese Methode verwenden, um das Element am Ende des Arrays hinzuzufügen, so:
Die Aufrufe books.push(...) und books[books.length] = ... sind gleich.
Methoden, die mit dem Anfang des Arrays arbeiten
shift
Diese Methode zielt darauf ab, das erste Element des Arrays zu extrahieren und zurückzugeben.
Zum Beispiel:
unshift
Diese Methode wird verwendet, um das Element am Anfang des Arrays hinzuzufügen, wie folgt:
Mit Hilfe der Methoden push und unshift können Sie gleichzeitig verschiedene Elemente hinzufügen.
Lassen Sie uns dieses Beispiel ansehen:
Innenteile
Wie wir bereits erwähnt haben, sind Arrays eine spezielle Art von Objekten. Eckige Klammern können verwendet werden, um auf eine Eigenschaft zuzugreifen arr[0] stammen aus der Syntax des Objekts. Etwas besonderes macht ein Array noch spezieller. Es ist ihre interne Darstellung. Die Engine tendiert dazu, ihre Elemente nacheinander im zusammenhängenden Speicherbereich zu speichern. Beachten Sie jedoch, dass sie brechen, wenn Sie aufhören, mit dem Array in der gegebenen Reihenfolge zu arbeiten und es als ein gewöhnliches Objekt zu behandeln.
Zum Beispiel ist es technisch möglich, so zu handeln:
let books = []; // make an array
books[99999] = 5; // assign a property with the index far greater than its length
books.name = "Javascript"; // create a property with an arbitrary name
Es ist verfügbar, weil Arrays Objekte sind. Sie können ihnen Eigenschaften hinzufügen.
Sie sollten auch die Fälle von Missbrauch des Arrays kennen, um sie zu vermeiden. Hier sind einige Beispiele:
- Hinzufügen einer nicht-numerischen Eigenschaft, wie arr.test = 9.
- Löcher machen, wie hinzufügen arr[0] und dann arr[500], ohne dazwischen etwas zu setzen.
- Füllen des Arrays in umgekehrter Reihenfolge. Zum Beispiel, arr[500], arr[499].
Wir können davon ausgehen, dass man Arrays als einzigartige Strukturen betrachten sollte, wenn man mit ihnen mit geordneten Daten arbeitet.
Schleifen
Eine der gängigen Arten, Array-Elemente zu durchlaufen, ist die for-Schleife über Indizes.
Hier ist ein Beispiel:
Eine andere Form von Schleife ist for..of.
Das Beispiel sieht so aus:
Diese Form der Schleife gibt keinen Zugriff auf die Nummer des aktuellen Elements.
Da Arrays Objekte sind, können Sie technisch auch for..in verwenden:
Dennoch ist es keine gute Idee, da sie potenzielle Probleme verursachen kann, wie:
- Die Schleife for..in kann über alle Eigenschaften iterieren, nicht nur über die numerischen Eigenschaften.
- Die Schleife for..in ist für generische Objekte optimiert, aber nicht für Arrays. Deshalb ist sie bis zu 10-100 mal langsamer.
Die Länge
Immer wenn wir das Array ändern, aktualisiert sich die Eigenschaft length automatisch. Es ist nicht die Anzahl der Werte im Array, sondern der numerische Index + 1. Zum Beispiel wird ein einzelnes Element mit einem großen Index eine große Länge ergeben, so:
Dennoch verwenden Entwickler Arrays nicht auf diese Weise.
Die Eigenschaft length ist beschreibbar. Wenn Sie sie verringern, wird das Array abgeschnitten. Lassen Sie uns dieses Beispiel ansehen:
Sie können das Array einfach leeren, indem Sie arr.length = 0; verwenden.
Erstellen eines neuen Arrays
Hier ist eine andere Syntax zum Erstellen eines Arrays:
let arr = new Array("Html", "Css", "etc");
Allerdings wird diese Syntax nicht häufig verwendet.
Wenn ein new Array mit nur einem Argument aufgerufen wird, das eine Zahl ist. Danach erstellt es ein Array ohne Elemente, aber mit einer bestimmten Länge:
In dem oben genannten Code sind alle Elemente undefined .
Mehrdimensionale Arrays
Arrays können auch Elemente haben, die Arrays sind. Dies kann für mehrdimensionale Arrays zur Speicherung von Matrizen verwendet werden:
toString Methode
Arrays implementieren die Methode toString auf ihre eigene Weise. Sie gibt eine kommagetrennte Liste von Elementen zurück. Hier ist ein Beispiel:
Es gibt auch eine alternative Methode:
Aber sie haben keine Symbol.toPrimitive und valueOf. Arrays implementieren nur die Konvertierung toString. So verwandelt sich hier [] in "1" und [2,1] wird zu "2,1".
Wenn der binäre Plusoperator "+" etwas zu einer Zeichenkette hinzufügt, wandelt er sie in eine Zeichenkette um, so dass der nächste Schritt folgendermaßen aussieht:
Quizzeit: Testen Sie Ihre Fähigkeiten!
Sind Sie bereit, das Gelernte herauszufordern? Tauchen Sie ein in unsere interaktiven Quizze für ein tieferes Verständnis und eine unterhaltsame Art, Ihr Wissen zu festigen.