In JavaScript ist ein Array eine listenartige Struktur ohne feste Länge, die jeden Typ von primitiven Werten oder Objekten aufnehmen kann, sogar gemischte Typen.
Um ein Array zu erstellen, schreibst du die Elemente zwischen eckige Klammern [].
Um aus dem Array zu lesen, setzt du den Index in eckige Klammern [] hinter den Bezeichner.
Die Indizes eines Arrays beginnen bei null.
Zum Beispiel:
const numbers = [1, 'two', 3, 'four'];
numbers[2];
// => 3
Um die Anzahl der Elemente in einem Array zu ermitteln, verwendest du die Eigenschaft length:
const numbers = [1, 'two', 3, 'four'];
numbers.length;
// => 4
Um ein Element im Array zu ändern, weist du dem Index einen Wert zu:
const numbers = [1, 'two', 3, 'four'];
numbers[0] = 'one';
numbers;
// => ['one', 'two', 3, 'four']
Einige der Methoden, die auf jedem Array-Objekt verfügbar sind, kannst du verwenden, um etwas zum Array hinzuzufügen oder daraus zu entfernen. Hier sind ein paar, die du bei dieser Übung beachten solltest:
Ein value kann mit .push(value) an das Ende eines Arrays hinzugefügt werden.
Die Methode gibt die neue Länge des Arrays zurück.
const numbers = [1, 'two', 3, 'four'];
numbers.push(5); // => 5
numbers;
// => [1, 'two', 3, 'four', 5]
Der letzte value kann mit .pop() aus einem Array entfernt werden.
Die Methode gibt den entfernten Wert zurück.
Die Länge des Arrays verringert sich durch diese Änderung.
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
Der erste value kann mit .shift() aus einem Array entfernt werden.
Die Methode gibt den entfernten Wert zurück.
Die Länge des Arrays verringert sich durch diese Änderung.
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
Ein value kann mit .unshift(value) an den Anfang eines Arrays hinzugefügt werden.
Die Methode gibt die neue Länge des Arrays zurück.
const numbers = [1, 'two', 3, 'four'];
numbers.unshift('one'); // => 5
numbers;
// => ['one', 1, 'two', 3, 'four']
Ein value an einem bestimmten index kann mit .splice(index, 1) aus einem Array entfernt werden.
Die Methode gibt das entfernte Element bzw. die entfernten Elemente zurück.
const numbers = [1, 'two', 3, 'four'];
numbers.splice(2, 1, 'one'); // => [3]
numbers;
// => [1, 'two', 'one', 'four']
Diese Methoden sind mächtiger, als hier beschrieben:
push als auch unshift erlauben es dir, mehrere Werte auf einmal hinzuzufügen, indem du weitere Argumente angibst.
Das ist für diese Übung nicht nötig.deleteCount angibst.
Damit kannst du Werte ersetzen oder Werte in der Mitte eines Arrays einfügen (zum Beispiel, indem du 0 Elemente entfernst).
Das ist für diese Übung nicht nötig.Als angehende Magierin muss Elyse ein paar Grundlagen üben. Sie hat einen Stapel Karten, den sie manipulieren möchte.
Um es etwas einfacher zu machen, benutzt sie nur die Karten 1 bis 10, sodass ihr Kartenstapel durch ein Array von Zahlen dargestellt werden kann. Die Position einer bestimmten Karte entspricht dem Index im Array. Das heißt, Position 0 verweist auf die erste Karte, Position 1 auf die zweite Karte usw.
Bis auf zwei Funktionen sollten alle das Array der Karten aktualisieren und dann das geänderte Array zurückgeben. Das ist eine gängige Vorgehensweise, die als Builder-Muster bekannt ist und mit der du Funktionen schön verketten kannst.
Die beiden Ausnahmen sind getItem, das die Karte an der angegebenen Position zurückgeben sollte, und checkSizeOfStack, das true zurückgeben sollte, wenn die angegebene Größe übereinstimmt.
Um eine Karte zu ziehen, gib die Karte am Index position aus
dem angegebenen Stapel zurück.
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
Führe ein paar Fingerfertigkeiten vor und tausche die Karte am Index position
gegen die angegebene Ersatzkarte aus.
Gib den angepassten Stapel zurück.
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]
Lass eine Karte erscheinen, indem du eine neue Karte oben auf den Stapel legst. Gib den angepassten Stapel zurück.
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
Lass eine Karte verschwinden, indem du die Karte an der angegebenen position aus dem Stapel entfernst.
Gib den angepassten Stapel zurück.
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
Lass eine Karte verschwinden, indem du die oberste Karte vom Stapel entfernst. Gib den angepassten Stapel zurück.
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
Lass eine Karte erscheinen, indem du eine neue Karte unten an den Stapel anfügst. Gib den angepassten Stapel zurück.
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
Lass eine Karte verschwinden, indem du die unterste Karte vom Stapel entfernst. Gib den angepassten Stapel zurück.
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
Prüfe, ob die Größe des Stapels gleich stackSize ist oder nicht.
const stackSize = 4;
checkSizeOfStack([3, 2, 6, 4, 8], stackSize);
// => false
Melde dich bei Exercism an, um JavaScript mit 37 Konzepte159 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.