Arrays. Push-Arrays Javascript Beispiele

Arrays können mit verschiedenen vom Array-Konstruktor bereitgestellten Methoden bearbeitet werden.

Pop / Push- und Shift / Unshift-Methoden

Betrachten Sie die Methoden pop () und push (). Mit diesen Methoden können Sie mit Arrays wie Stacks arbeiten. Ein Stack ist eine Datenstruktur, in der der Zugriff auf Elemente nach dem LIFO-Prinzip organisiert ist (Englisch last in - first out, "last in - first out"). Das Prinzip des Stapels kann mit einem Stapel von Platten verglichen werden: Um den zweiten von oben zu nehmen, müssen Sie den oberen entfernen. Wie es funktioniert, ist in der Abbildung dargestellt:

Und zurück zur Betrachtung der Methoden push () und pop (). Die push () -Methode fügt am Ende des Arrays ein oder mehrere neue Elemente hinzu und gibt die neue Länge zurück. Die pop () -Methode - entfernt das letzte Element des Arrays, verringert die Länge des Arrays und gibt den entfernten Wert zurück. Beachten Sie, dass beide Methoden das Array an Ort und Stelle ändern, anstatt eine geänderte Kopie davon zu erstellen.

Var foo \u003d; // foo: foo.push (1,2); // foo: Gibt 2 zurück foo.pop (); // foo: Gibt 2 zurück foo.push (3); // foo: Gibt 2 zurück foo.pop (); // foo: Gibt 3 zurück foo.push (); // foo:] Gibt 2 zurück foo.pop () // foo: Gibt foo.pop () zurück; // foo: Gibt 1 var Früchte zurück \u003d ["Birnen", "Bananen", "Äpfel"]; var pick \u003d obst.pop (); document.write ("Du hast meine ausgewählt" + ausgewählt); Versuchen "

Die Methoden shift () und unshift () verhalten sich ähnlich wie pop () und push (), außer dass sie Elemente am Anfang des Arrays einfügen und entfernen. Die unshift () -Methode verschiebt vorhandene Elemente in Richtung größerer Indizes, um Platz für neue Elemente zu schaffen, fügt ein oder mehrere Elemente am Anfang des Arrays hinzu und gibt die neue Länge des Arrays zurück. Die Methode shift () entfernt das erste Element des Arrays und gibt seinen Wert zurück. Dabei werden alle nachfolgenden Elemente verschoben, um am Anfang des Arrays freien Speicherplatz zu belegen.

Var f \u003d; // f: f.unshift (1); // f: Rückgabe: 1 f.unshift (22); // f: Rückgabe: 2 f.shift (); // f: Rückgabe: 22 f.unshift (3,); // f:, 1] Rückgabe: 3 f.shift (); // f: [, 1] Rückgabe: 3 f.shift (); // f: Rückgabe: f.shift (); // f: Rückgabe: 1

Join-Methode

Die Methode Array.join () wird verwendet, um die Elemente eines Arrays zu einer Zeichenfolge zu kombinieren. Sie können der Methode ein optionales Zeichenfolgenargument übergeben, mit dem die Elemente in der Zeichenfolge getrennt werden. Wenn kein Trennzeichen angegeben ist, ist das Standardtrennzeichen das Komma, wenn die Methode aufgerufen wird.

Var a \u003d ["Wind", "Regen", "Feuer"]; var myVar1 \u003d a.join (); // "Wind, Regen, Feuer" var myVar2 \u003d a.join (","); // "Wind, Regen, Feuer" var myVar3 \u003d a.join ("+"); // "Wind + Regen + Feuer" document.write (myVar1 + "
"+ myVar2 +"
"+ myVar3); Try"

Die Array.join () -Methode ist das Gegenteil der String.split () -Methode, mit der ein Array erstellt wird, indem ein String in Blöcke aufgeteilt wird.

Umgekehrte Methode

Die Array.reverse () -Methode kehrt die Reihenfolge der Elemente im Array um und gibt das Array mit den neu angeordneten Elementen zurück. Diese Methode erstellt kein neues Array mit neu angeordneten Elementen, sondern ordnet sie in einem bereits vorhandenen Array neu an.

Var myArr \u003d ["eins", "zwei", "drei"]; document.write (myArr.reverse ()); Versuchen "

Die Concat-Methode

Die Methode Array.concat () erstellt ein neues Array und gibt es zurück, das die Elemente des ursprünglichen Arrays enthält, für das die Methode concat () aufgerufen wurde, und die nacheinander mit den Werten aller an die Methode concat () übergebenen Argumente aufgefüllt wird. Wenn eines dieser Argumente selbst ein Array ist, werden alle seine Elemente hinzugefügt. Array-Namen werden als Argumente verwendet und in der Reihenfolge angegeben, in der Sie ihre Elemente verketten möchten.

Var a \u003d; a.concat (4, 5) // Gibt a.concat () zurück; // dasselbe - gibt a.concat (,) zurück // Gibt zurück

Sortiermethode

Die Methode Array.sort () sortiert die Elemente des Arrays an Ort und Stelle und gibt das sortierte Array zurück. Wenn die sort () -Methode ohne Argument aufgerufen wird, werden die Elemente des Arrays alphabetisch sortiert (zum Vergleich werden sie vorübergehend in Zeichenfolgen konvertiert). Die sort () -Methode kann eine Vergleichsfunktion als Argument verwenden, die die Sortierreihenfolge der Elemente bestimmt.

Var a \u003d ["Kiwi", "Orangen", "Birnen"]; a.sort (); var s \u003d a.join (","); // Orangen, Birnen, Kiwi document.write (s); // Beispiel mit Zahlen var myArr \u003d; myArr.sort (); document.write (myArr); // 1,10,2 Versuch "

Sie haben wahrscheinlich ein etwas anderes Ergebnis als beim Sortieren von Zahlen erwartet. Diese Art der Sortierung tritt auf, weil die sort () -Methode die Elemente sortiert, indem sie sie in Zeichenfolgen konvertiert. Daher ist die Reihenfolge, die sie erhalten, Zeichenfolge - immerhin "10"

Um in einer anderen nicht alphabetischen Reihenfolge zu sortieren, können Sie eine Vergleichsfunktion als Argument an sort () übergeben. Beachten Sie jedoch, dass Sie die Vergleichsfunktion selbst schreiben müssen. Diese Funktion muss zwei Parameter haben, da sie festlegt, welches ihrer beiden Argumente zuerst in der sortierten Liste erscheinen soll. Um das Verständnis und Schreiben einer solchen Funktion zu erleichtern, gibt es verschiedene Regeln, nach denen die Reihenfolge der Elemente bestimmt wird:

  • Wenn das erste Argument vor dem zweiten stehen muss, gibt die Vergleichsfunktion eine negative Zahl zurück (wenn a
  • Wenn das erste Argument auf das zweite folgen muss, gibt die Vergleichsfunktion eine positive Zahl zurück (wenn a\u003e b)
  • Wenn die zwei Werte äquivalent sind (d. H. Ihre Reihenfolge ist nicht wichtig), gibt die Vergleichsfunktion 0 zurück (wenn a \u003d\u003d b)

Zum Vergleich verwendet die Funktion Array-Elemente als Argumente:

Funktion foo (a, b) (// definiere eine Testfunktion, wenn (a b) 1 zurückgibt; 0 zurückgibt; // wenn a \u003d\u003d b) var a \u003d; a.sort (foo); // nur der Funktionsname wird als Argument übergeben document.write (a.join (",")); // schreibe dasselbe kürzer var a \u003d; a.sort (Funktion (a, b) (// benutze die anonyme Funktion return a - b; // Funktion gibt 0 zurück)); document.write (a); // 1,2,5,10 Probieren Sie es aus "

Der erste Eintrag im Beispiel ist so geschrieben, dass Sie leichter verstehen, wie es funktioniert. Beachten Sie, wie bequem es ist, eine anonyme Funktion im zweiten Snippet zu verwenden. Es wird nur einmal aufgerufen, daher muss es nicht benannt werden.

Hinweis: Wenn das Array undefinierte Elemente enthält, werden diese bis zum Ende des Arrays umgebrochen.

Schnittmethode

Die Array.slice () -Methode wird verwendet, um den angegebenen Bereich aus dem Array zu kopieren und ein neues Array zurückzugeben, das die kopierten Elemente enthält. Das ursprüngliche Array wird dadurch nicht geändert.

Methodensyntax:

ArrayName.slice (Anfang, Ende);

Array_name sollte durch den Namen des Arrays ersetzt werden, von dem Sie einen bestimmten Satz von Elementen für ein neues Array abrufen möchten. Die Methode verwendet zwei Argumente, die den Anfang und das Ende des zurückgegebenen Teils des Arrays definieren. Die Methode kopiert einen Teil des Arrays von Anfang bis Ende, ohne Ende. Wenn nur ein Argument angegeben wird, enthält das zurückgegebene Array alle Elemente von der angegebenen Position bis zum Ende des Arrays. Sie können negative Indizes verwenden - diese werden ab dem Ende des Arrays gezählt.

Var arr \u003d; arr.slice (0,3); // Gibt arr.slice (3) zurück; // Gibt arr.slice (1, -1) zurück; // Gibt arr.slice zurück (-3, -2); // Kehrt zurück

Spleißmethode

Die Array.splice () -Methode ist eine generische Methode zum Arbeiten mit Arrays. Es ändert das Array an Ort und Stelle, anstatt ein neues modifiziertes Array zurückzugeben, wie dies bei den Methoden Slice () und Concat () der Fall ist. Die Spleißmethode kann Elemente aus einem Array entfernen, neue Elemente einfügen, Elemente ersetzen - einzeln und gleichzeitig. Es gibt ein Array der entfernten Elemente zurück. Wenn keines der Elemente entfernt wurde, wird ein leeres Array zurückgegeben.

Methodensyntax:

ArrayName.splice (index, qty, elem1, ..., elemN);

Das erste Argument gibt den Index im Array an, an dem mit dem Einfügen oder Entfernen von Elementen begonnen werden soll. Das zweite Argument gibt die Anzahl der Elemente an, die ausgehend von dem im ersten Argument angegebenen Index aus dem Array entfernt werden sollen. Wenn das zweite Argument 0 ist, werden die Elemente nicht entfernt. Wenn das zweite Argument weggelassen wird, werden alle Array-Elemente vom angegebenen Index bis zum Ende des Arrays entfernt. Bei Verwendung einer negativen Positionsnummer werden die Elemente ab dem Ende des Arrays gezählt.

Var Früchte \u003d ["Orangen", "Äpfel", "Birnen", "Trauben"]; var gelöscht \u003d obst.splice (2,2); // gibt ["Birnen", "Trauben"] zurück document.write (gelöscht); var arr \u003d; arr.splice (4); // Kehrt zurück; das Array ist jetzt: arr.splice (1,2); // Kehrt zurück; das Array wurde: arr.splice (1,1); // Kehrt zurück; Das Array wurde zu: Try "

Die ersten beiden Argumente für die splice () -Methode geben die zu entfernenden Array-Elemente an. Auf diese beiden Argumente können beliebig viele zusätzliche Argumente folgen, die die Elemente angeben, die in das Array eingefügt werden sollen, beginnend an der Position, die durch das erste Argument angegeben wird.

Var Früchte \u003d ["Orangen", "Äpfel"]; Früchte.Splice (2,0, "Wassermelonen"); // gibt document.write zurück (Früchte); // jetzt ["Orangen", "Äpfel", "Wassermelonen"] var arr \u003d; arr.splice (2,0, "a", "b"); // Kehrt zurück; wurde arr.splice (2,2,); // Gibt ["a", "b"] zurück; wurde, 3,4,5] Versuch "

Beachten Sie, dass die Methode splice () im Gegensatz zu concat () die als Argumente übergebenen Arrays nicht in separate Elemente aufteilt. Das heißt, wenn ein Array zum Einfügen an eine Methode übergeben wird, wird das Array selbst und nicht die Elemente dieses Arrays eingefügt.

ToString-Methode

Die toString () -Methode konvertiert die Elemente eines Arrays in eine Zeichenfolge, wobei ein Komma als Trennzeichen verwendet wird.

Var arr \u003d ["Milch", "Brot", "Kekse"]; var food \u003d arr.toString (); document.write (Essen); // Milch, Brot, Kekse Probieren Sie es aus "

Beachten Sie, dass die Methode dieselbe Zeichenfolge wie join () zurückgibt, wenn sie ohne Argumente aufgerufen wird.

indexOf und lastIndexOf

Die indexOf-Methode gibt den Index eines Elements zurück, dessen Wert dem Wert entspricht, der als Argument an die Methode übergeben wird.

Die Syntax für die Methoden indexOf () und lastIndexOf () lautet:

Array_name.indexOf (Lookup-Element, Index) Array-Name.lastIndexOf (Lookup-Element, Index)

Das erste Argument der Methode gibt den Wert des Elements an, dessen Index gefunden werden soll, das zweite Argument (optional) gibt den Index an, von dem aus die Suche gestartet werden soll. Bei mehreren identischen Vorkommen wird der kleinste (erste) Index ausgewählt. Wenn ein Element mit dem gewünschten Wert nicht gefunden wird, gibt die Methode -1 zurück. Innerhalb der Methode wird für die Suche ein strikter Vergleich (\u003d\u003d\u003d) verwendet.

Var a \u003d; a.indexOf (3); // gibt 2 a.indexOf (3,4) zurück; // gibt 6 a.indexOf (35) zurück; // gibt -1 zurück: Es gibt kein Element mit diesem Wert a.indexOf (2); // 1

Die Methode lastIndexOf () gibt auch den Index eines Elements zurück, dessen Wert dem Wert entspricht, der als Argument an die Methode übergeben wird. Der einzige Unterschied besteht darin, dass die Methode lastIndexOf () den höchsten (letzten) Index auswählt.

Var a \u003d; a.lastIndexOf (3); // gibt 7 zurück a.lastIndexOf (35); // gibt -1 zurück: Es gibt kein Element mit diesem Wert a.lastIndexOf (2); // 6

Iteratormethoden

Die unten beschriebenen Methoden sind Iteratoren. Alle modernen Browser für die Arbeit mit Arrays verfügen über Methoden, mit denen Elemente durchlaufen und verschiedene Aktionen ausgeführt werden können. Dies sind die Methoden forEach (), map (), filter (), every (), some, reduct () und reduRight ().

Sie durchlaufen die Array-Elemente von 0 bis Länge - 1 und übergeben sie, falls vorhanden, an die Callback-Handler-Funktion.

für jedes

Methodensyntax:

ArrayName.forEach (Rückruf, thisArg)

Das erste Argument ist eine Rückruffunktion, die die forEach () -Methode für jedes Element des Arrays aufruft. Sie müssen die Implementierung der aufgerufenen Handlerfunktion selbst schreiben. Die aufgerufene Funktion muss drei Parameter haben: Der erste Parameter verwendet als Argument den Wert des Array-Elements, der zweite - den Index des Elements und der dritte - das Array selbst. Wenn Sie jedoch nur die Werte der Array-Elemente verwenden möchten, können Sie eine Funktion mit nur einem Parameter schreiben. Das zweite Argument, thisArg (optional), wird als this-Wert übergeben.

Var arr \u003d; Funktion foo (Wert) (var sum \u003d Wert * this; return document.write (sum + "
");) arr.forEach (foo, 5); // Das zweite Argument wird als Wert übergeben. // dieses Beispiel mit drei Parametern var a \u003d; a.forEach (Funktion (el, idx, a) (document.write ( "a [" + idx + "] \u003d" + el + "in [" + a + "]
");)); Versuchen"

filter

Methodensyntax:

Arrayname.filter (Rückruf, thisObject)

Die filter () -Methode erstellt ein neues Array und gibt es zurück, das nur die Array-Elemente enthält, für die die Rückruffunktion true zurückgibt.

Funktion isBig (Element, Index, Array) (// gibt Zahlen zurück, die größer oder gleich 10 sind return (Element\u003e \u003d 10); // Wenn der Elementwert größer oder gleich 10 ist, gibt der Ausdruck true zurück) var filtered \u003d .filter (isBig) ;; // gefiltert

karte

Die map () -Methode erstellt und gibt ein neues Array zurück, das aus den Ergebnissen des Aufrufs der Rückruffunktion (item, idx, ar) für jedes Element im Array besteht.

Var a \u003d; var b \u003d a.map (Funktion (item, idx, arr) (return item * item;)); // b \u003d

jeder und einige

Jede () -Methode gibt true zurück, wenn die angegebene Funktion zum Testen true für alle Elemente des Arrays zurückgibt.

Die Methode some () gibt true zurück, wenn während der Validierung in der angegebenen Funktion ein oder mehrere Elemente true zurückgeben.

Var a \u003d; a.jeder (Funktion (x) (Rückgabe x 10;)) // true: eine Zahl\u003e 10

reduzieren und reduzieren

Methodensyntax:

ArrayName.reduce (Rückruf, initialValue) ArrayName.reduceRight (Rückruf, initialValue)

Die Methode redu () wendet die angegebene Funktion (Rückruf) auf zwei Werte im Array gleichzeitig an und iteriert von links nach rechts über die Elemente, wobei das Zwischenergebnis beibehalten wird.

Argumente der Rückruffunktion: (previousValue, currentItem, index, array)

  • previousValue - das Rückgabeergebnis der Rückruffunktion (auch bekannt als Zwischenergebnis)
  • currentItem - das aktuelle Element im Array (Elemente werden der Reihe nach von links nach rechts iteriert)
  • index - der Index des aktuellen Elements
  • array - Das Array, das verarbeitet wird

initialValue Das Objekt, das als erstes Argument für den ersten Aufruf der Rückruffunktion verwendet wird. In einfachen Worten, der Wert von previousValue entspricht initialValue beim ersten Aufruf. Wenn initialValue fehlt, entspricht es dem ersten Element des Arrays, und die Iteration beginnt mit dem zweiten:

Var a \u003d; Funktion foo (prevNum, curNum) (sum \u003d prevNum + curNum; alert (sum); return sum;) var result \u003d a.reduce (foo, 0); document.write (Ergebnis); Versuchen "

Mal sehen, wie dieses Beispiel funktioniert. Die ersten Argumente für foo sind:

  • prevNum \u003d 0 (da initialValue 0 ist)
  • curNum \u003d 1 (aktuelles Element ist das 1. Element des Arrays)

Die Zahl 0 wird zu 1 addiert. Dieses Ergebnis (Summe: 1) wird beim nächsten Ausführen der Funktion als prevNum übergeben. Und so weiter bis zum letzten Element. Das zurückgegebene Ergebnis - die Summe aus dem letzten Lauf - beträgt 15 (1 + 2 + 3 + 4 + 5).

Die reduRight-Methode funktioniert ähnlich wie die reduct-Methode, durchläuft jedoch das Array von rechts nach links:

Var a \u003d ["h", "o", "m", "e"]; Funktionsleiste (prevStr, curItem) (return prevStr + curItem;) document.write (a.reduceRight (bar)); // emoh

Arrays

Array ist eine geordnete Sammlung von Werten. Die Werte in einem Array werden als Elemente bezeichnet, und jedes Element ist durch eine numerische Position im Array gekennzeichnet, die als Index bezeichnet wird. Arrays in JavaScript sind untypisiert: Die Elemente eines Arrays können von einem beliebigen Typ sein, und verschiedene Elemente desselben Arrays können von unterschiedlichem Typ sein. Array-Elemente können sogar Objekte oder andere Arrays sein, mit denen Sie komplexe Datenstrukturen wie Arrays von Objekten und Arrays von Arrays erstellen können.

Array-Indizes in JavaScript basieren auf Nullen und verwenden 32-Bit-Ganzzahlen. Das erste Element eines Arrays hat den Index 0. JavaScript-Arrays sind dynamisch: Sie können nach Bedarf wachsen und schrumpfen. Es ist nicht erforderlich, feste Größen von Arrays zu deklarieren, wenn sie erstellt werden, oder Speicher neu zuzuweisen, wenn ihre Größe geändert wird.

Arrays in JavaScript sind eine spezielle Form von Objekten, und Array-Indizes bedeuten kaum mehr als nur Eigenschaftsnamen, die zufällig Ganzzahlen sind.

Arrays erstellen

Der einfachste Weg, ein Array zu erstellen, ist ein Literal, eine einfache, durch Kommas getrennte Liste von Array-Elementen in eckigen Klammern. Die Werte in einem Array-Literal müssen keine Konstanten sein - sie können beliebige Ausdrücke sein, einschließlich Objektliterale:

Var leer \u003d; // Leeres Array var numbers \u003d; // Array mit fünf numerischen Elementen var misc \u003d [1.1, true, "a",]; // 3 Elemente verschiedener Typen + nachfolgendes Komma var base \u003d 1024; var table \u003d; // Array mit Variablen var arrObj \u003d [,]; // 2 Arrays mit Objekten

Mit der Array-Literal-Syntax können Sie ein optionales nachfolgendes Komma einfügen, d. H. Literal [,] entspricht einem Array mit zwei Elementen, nicht mit drei.

Eine andere Möglichkeit, ein Array zu erstellen, besteht darin, den Konstruktor aufzurufen Array ()... Der Konstruktor kann auf drei verschiedene Arten aufgerufen werden:

    Rufen Sie den Konstruktor ohne Argumente auf:

    Var arr \u003d neues Array ();

    In diesem Fall wird ein leeres Array erstellt, das dem Literal entspricht.

    Rufen Sie den Konstruktor mit einem einzelnen numerischen Argument auf, das die Länge des Arrays angibt:

    Var arr \u003d neues Array (10);

    In diesem Fall wird ein leeres Array der angegebenen Länge erstellt. Diese Form des Aufrufs des Array () -Konstruktors kann verwendet werden, um Speicher für ein Array vorab zuzuweisen, wenn die Anzahl seiner Elemente im Voraus bekannt ist. Beachten Sie, dass hierdurch keine Werte im Array gespeichert werden.

    Geben Sie die Werte der ersten zwei oder mehr Array-Elemente oder eines nicht numerischen Elements in einem Konstruktoraufruf explizit an:

    Var arr \u003d neues Array (5, 4, 3, 2, 1, "Test");

    In diesem Fall werden die Argumente an den Konstruktor zu den Werten der Elemente des neuen Arrays. Die Verwendung von Array-Literalen ist fast immer einfacher als die Verwendung des Array () -Konstruktors auf diese Weise.

Array-Elemente lesen und schreiben

Auf Array-Elemente wird mit dem Operator zugegriffen. Links von den Klammern muss ein Array-Verweis vorhanden sein. Ein beliebiger Ausdruck, der einen nicht negativen ganzzahligen Wert zurückgibt, muss in Klammern stehen. Diese Syntax eignet sich sowohl zum Lesen als auch zum Schreiben des Werts eines Array-Elements. Daher sind alle folgenden JavaScript-Anweisungen gültig:

// Erstelle ein Array mit einem Element var arr \u003d ["world"]; // Element 0 lesen var value \u003d arr; // Schreibe den Wert in Element 1 arr \u003d 3.14; // Schreibe einen Wert in Element 2 i \u003d 2; arr [i] \u003d 3; // Schreibe einen Wert in Element 3 arr \u003d "hello"; // Elemente 0 und 2 lesen, Wert in Element 3 schreiben arr] \u003d arr;

Ich möchte Sie daran erinnern, dass Arrays eine spezielle Art von Objekt sind. Die eckigen Klammern für den Zugriff auf Array-Elemente entsprechen genau den eckigen Klammern für den Zugriff auf Objekteigenschaften. Der JavaScript-Interpreter konvertiert die in Klammern gesetzten numerischen Indizes in Zeichenfolgen - Index 1 wird zur Zeichenfolge "1" - und verwendet die Zeichenfolgen dann als Eigenschaftsnamen.

Das Konvertieren numerischer Indizes in Zeichenfolgen ist nichts Besonderes: Das Gleiche gilt für reguläre Objekte:

Var obj \u003d (); // Erstelle ein einfaches Objekt obj \u003d "one"; // Indiziere es mit ganzen Zahlen

Die Besonderheit von Arrays besteht darin, dass bei Verwendung von Eigenschaftsnamen, die nicht negative Ganzzahlen sind, die Arrays automatisch den Wert der Eigenschaft bestimmen länge... Zum Beispiel wurde das arr-Array oben mit einem einzelnen Element erstellt. Dann wurden seinen Elementen Werte mit den Indizes 1, 2 und 3 zugewiesen. Infolge dieser Operationen änderte sich der Wert der Längeneigenschaft des Arrays und wurde gleich 4.

Sie sollten klar zwischen Indizes in einem Array und Objekteigenschaftsnamen unterscheiden. Alle Indizes sind Eigenschaftsnamen, aber nur Eigenschaften mit Ganzzahlnamen sind Indizes. Alle Arrays sind Objekte, und Sie können ihnen Eigenschaften mit einem beliebigen Namen hinzufügen. Wenn Sie jedoch Eigenschaften berühren, bei denen es sich um Array-Indizes handelt, aktualisieren Arrays den Wert der Eigenschaft length nach Bedarf.

Beachten Sie, dass negative und nicht ganzzahlige Werte als Array-Indizes zulässig sind. In diesem Fall werden Zahlen in Zeichenfolgen konvertiert, die als Eigenschaftsnamen verwendet werden.

Hinzufügen und Entfernen von Array-Elementen

Wir haben bereits gesehen, dass der einfachste Weg, einem Array Elemente hinzuzufügen, darin besteht, neuen Indizes Werte zuzuweisen. Sie können die Methode auch verwenden, um ein oder mehrere Elemente am Ende eines Arrays hinzuzufügen drücken ():

Var arr \u003d; // Erstelle ein leeres Array arr.push ("zero"); // Füge einen Wert zum Ende hinzu arr.push ("one", 2); // Füge zwei weitere Werte hinzu

Sie können dem Ende eines Arrays auch ein Element hinzufügen, indem Sie dem arr-Element einen Wert zuweisen. Um ein Element am Anfang eines Arrays einzufügen, können Sie die Methode verwenden nicht verschieben ()und die vorhandenen Elemente in dem Array werden zu höheren Indizes verschoben.

Sie können Elemente eines Arrays mit dem Löschoperator löschen, wie z. B. gewöhnliche Eigenschaften von Objekten:

Var arr \u003d; arr löschen; 2 in arr; // false, Index 2 im Array ist undefiniert arr.length; // 3: Der Löschoperator ändert die Längeneigenschaft des Arrays nicht

Das Entfernen eines Elements ähnelt dem Zuweisen eines undefinierten Werts zu diesem Element (unterscheidet sich jedoch geringfügig). Beachten Sie, dass das Anwenden des Löschoperators auf ein Element in einem Array weder den Wert der Längeneigenschaft ändert noch die Elemente mit höheren Indizes nach unten bewegt, um die nach dem Löschen des Elements verbleibende Lücke zu füllen.

Es ist auch möglich, Elemente am Ende eines Arrays zu entfernen, indem der Eigenschaft length einfach ein neuer Wert zugewiesen wird. Arrays haben eine Methode pop () (im Gegensatz zu push ()), wodurch die Länge des Arrays um 1 verringert und der Wert des entfernten Elements zurückgegeben wird. Es gibt auch eine Methode verschiebung () (im Gegensatz zu unshift ()), wodurch das Element am Anfang des Arrays entfernt wird. Im Gegensatz zum Löschoperator verschiebt die Methode shift () alle Elemente um eine Position unter ihren aktuellen Indizes.

Schließlich gibt es eine Mehrzweckmethode spleiß ()Damit können Sie Array-Elemente einfügen, löschen und ersetzen. Es ändert den Wert der Eigenschaft length und verschiebt die Elemente des Arrays nach Bedarf mit niedrigeren oder höheren Indizes. Wir werden all diese Methoden etwas später diskutieren.

Mehrdimensionale Arrays

JavaScript unterstützt keine "echten" mehrdimensionalen Arrays, kann diese jedoch mithilfe von Arrays aus Arrays gut simulieren. Für den Zugriff auf ein Datenelement in einem Array von Arrays ist es ausreichend, den Operator zweimal zu verwenden.

Angenommen, die Variablenmatrix ist ein Array von Zahlenarrays. Jedes Element der Matrix [x] ist ein Array von Zahlen. Sie können die Ausdrucksmatrix [x] [y] verwenden, um auf eine bestimmte Nummer in einem Array zuzugreifen. Im Folgenden finden Sie ein spezielles Beispiel, in dem ein zweidimensionales Array als Multiplikationstabelle verwendet wird:

// Mehrdimensionales Array erstellen var table \u003d new Array (10); // Die Tabelle enthält 10 Zeilen für (var i \u003d 0; i

Array-Klassenmethoden

Der ECMAScript 3-Standard definiert viele praktische Funktionen für die Arbeit mit Arrays als Teil von Array.prototype, die als Methoden für jedes Array verfügbar sind. Diese Methoden werden in den folgenden Unterabschnitten vorgestellt.

Join () -Methode

Die Methode Array.join () konvertiert alle Elemente im Array in Zeichenfolgen, verkettet sie und gibt die resultierende Zeichenfolge zurück. Ein optionales Argument kann mit einer Zeichenfolge an die Methode übergeben werden, mit der Elemente in der Ergebniszeichenfolge getrennt werden. Wenn keine Trennzeichenfolge angegeben ist, wird ein Komma verwendet. Das folgende Snippet führt beispielsweise zu der Zeichenfolge "1,2,3":

Var arr \u003d; arr.join (); // "1,2,3" arr.join ("-"); // 1-2-3

Die reverse () Methode

Die Array.reverse () -Methode kehrt die Reihenfolge der Elemente in einem Array um und gibt ein neu geordnetes Array zurück. Die Permutation erfolgt direkt auf dem ursprünglichen Array, d.h. Diese Methode erstellt kein neues Array mit neu angeordneten Elementen, sondern ordnet sie in einem bereits vorhandenen Array neu an. Das folgende Snippet, das die Methoden reverse () und join () verwendet, führt beispielsweise zur Zeichenfolge "3,2,1":

Var arr \u003d; arr.reverse (). join (); // 3,2,1

Sort () -Methode

Die Array.sort () -Methode sortiert die Elemente im ursprünglichen Array und gibt das sortierte Array zurück. Wenn die sort () -Methode ohne Argumente aufgerufen wird, wird die Sortierung alphabetisch ausgeführt (zum Vergleich werden die Elemente bei Bedarf vorübergehend in Zeichenfolgen konvertiert). Undefinierte Elemente werden an das Ende des Arrays eingeschlossen.

Sie können eine Vergleichsfunktion als Argument an sort () übergeben, um sie in einer anderen nicht alphabetischen Reihenfolge zu sortieren. Diese Funktion legt fest, welches der beiden Argumente in der sortierten Liste an erster Stelle stehen soll. Wenn das erste Argument vor dem zweiten stehen muss, muss die Vergleichsfunktion eine negative Zahl zurückgeben. Wenn das erste Argument dem zweiten im sortierten Array folgen soll, muss die Funktion eine Zahl größer als Null zurückgeben. Und wenn die zwei Werte äquivalent sind (d. H. Die Reihenfolge ist nicht wichtig), sollte die Vergleichsfunktion 0 zurückgeben:

Var arr \u003d; arr.sort (); // Alphabetische Reihenfolge: 1111, 222, 33, 4 arr.sort (Funktion (a, b) (// Numerische Reihenfolge: 4, 33, 222, 1111 return ab; // Gibt den Wert 0 // abhängig von der Sortierreihenfolge zurück A und B)); // Rückwärts sortieren, vom höchsten zum niedrigsten arr.sort (Funktion (a, b) (return b-a));

Beachten Sie, wie bequem es ist, eine unbenannte Funktion in diesem Snippet zu verwenden. Die Vergleichsfunktion wird nur hier verwendet, sodass kein Name angegeben werden muss.

Die concat () -Methode

Die Methode Array.concat () erstellt ein neues Array und gibt es zurück. Es enthält die Elemente des ursprünglichen Arrays, für das die Methode concat () aufgerufen wurde, und die Werte aller an die Methode concat () übergebenen Argumente. Wenn eines dieser Argumente selbst ein Array ist, werden seine Elemente dem zurückgegebenen Array hinzugefügt. Es ist jedoch zu beachten, dass es keine rekursive Umwandlung eines Arrays von Arrays in ein eindimensionales Array gibt. Die concat () -Methode ändert das ursprüngliche Array nicht. Nachfolgend einige Beispiele:

Var arr \u003d; arr.concat (4, 5); // Gibt arr.concat () zurück; // Gibt arr.concat (,) zurück // Gibt arr.concat (4,] zurück) // Gibt zurück]

Slice () -Methode

Die Array.slice () -Methode gibt ein Slice oder Subarray des angegebenen Arrays zurück. Die beiden Argumente für die Methode definieren den Anfang und das Ende des zurückgegebenen Blocks. Das zurückgegebene Array enthält das im ersten Argument nummerierte Element sowie alle nachfolgenden Elemente bis zum im zweiten Argument nummerierten Element (jedoch ohne dieses).

Wenn nur ein Argument angegeben wird, enthält das zurückgegebene Array alle Elemente von der Startposition bis zum Ende des Arrays. Wenn eines der Argumente negativ ist, gibt es die Elementnummer relativ zum Ende des Arrays an. Somit entspricht das Argument -1 dem letzten Element des Arrays und das Argument -3 dem dritten Element des Arrays vom Ende. Hier sind einige Beispiele:

Var arr \u003d; arr.slice (0,3); // Gibt arr.slice (3) zurück; // Gibt arr.slice (1, -1) zurück; // Gibt arr.slice (-3, -2) zurück; // Wird zurückkehren

Splice () -Methode

Die Array.splice () -Methode ist eine generische Methode, mit der Elemente in ein Array eingefügt oder daraus entfernt werden. Im Gegensatz zu den Methoden Slice () und Concat () ändert die Methode splice () das ursprüngliche Array, auf dem sie aufgerufen wurde. Beachten Sie, dass die Methoden splice () und Slice () sehr ähnliche Namen haben, jedoch völlig unterschiedliche Operationen ausführen.

Die splice () -Methode kann Elemente aus einem Array entfernen, neue Elemente einfügen oder beides gleichzeitig ausführen. Die Elemente des Arrays werden nach Bedarf verschoben, um nach dem Einfügen oder Löschen eine kontinuierliche Sequenz zu bilden.

Das erste Argument für die splice () -Methode gibt die Position im Array an, aus der eingefügt und / oder gelöscht werden soll. Das zweite Argument gibt die Anzahl der Elemente an, die aus dem Array entfernt (ausgeschnitten) werden sollen. Wenn das zweite Argument weggelassen wird, werden alle Array-Elemente vom angegebenen Array bis zum Ende des Arrays entfernt. Die splice () -Methode gibt ein Array der entfernten Elemente oder (falls keines der Elemente entfernt wurde) ein leeres Array zurück.

Die ersten beiden Argumente für die Methode splice () geben die zu entfernenden Array-Elemente an. Auf diese Argumente können beliebig viele zusätzliche Argumente folgen, die die Elemente angeben, die in das Array eingefügt werden sollen, beginnend an der im ersten Argument angegebenen Position.

Var arr \u003d; arr.splice (4); // Gibt arr \u003d arr.splice (1,2) zurück; // Gibt arr \u003d arr.splice (1,1) zurück; // Wird zurückkehren; arr \u003d arr \u003d; arr.splice (2,0, "a", "b"); // Wird zurückkehren; arr \u003d

Die Methoden push () und pop ()

Mit den Methoden push () und pop () können Sie mit Arrays wie Stacks arbeiten. Die push () -Methode fügt am Ende des Arrays ein oder mehrere neue Elemente hinzu und gibt die neue Länge zurück. Die pop () -Methode führt die entgegengesetzte Operation aus: Sie entfernt das letzte Element des Arrays, verringert die Länge des Arrays und gibt den entfernten Wert zurück. Beachten Sie, dass beide Methoden das ursprüngliche Array ändern, anstatt eine geänderte Kopie davon zu erstellen.

Die Methoden unshift () und shift ()

Die Methoden unshift () und shift () verhalten sich fast genauso wie push () und pop (), außer dass sie Elemente am Anfang des Arrays einfügen und entfernen, nicht am Ende. Die Methode unshift () verschiebt vorhandene Elemente in Richtung größerer Indizes, um Platz zu schaffen, fügt das Element oder die Elemente am Anfang des Arrays hinzu und gibt die neue Länge des Arrays zurück. Die Methode shift () entfernt das erste Element des Arrays und gibt es zurück. Dabei werden alle nachfolgenden Elemente um eine Position nach unten verschoben, um den am Anfang des Arrays frei gewordenen Platz einzunehmen.

Das drücken () Die Methode fügt ein oder mehrere Elemente am Ende eines Arrays hinzu und gibt die neue Länge des Arrays zurück.

Die Quelle für dieses interaktive Beispiel wird in einem GitHub-Repository gespeichert. Wenn Sie zu dem interaktiven Beispielprojekt beitragen möchten, klonen Sie bitte https://github.com/mdn/interactive-examples und senden Sie uns eine Pull-Anfrage.

Syntax

arr .push (element1 [, ... [, elementN]])

Parameter

Element N. Die Elemente, die am Ende des Arrays hinzugefügt werden sollen.

Rückgabewert

Beispiele

Hinzufügen von Elementen zu einem Array

Mit dem folgenden Code wird das Sportarray erstellt, das zwei Elemente enthält, und anschließend zwei Elemente angehängt. Die Gesamtvariable enthält die neue Länge des Arrays.

Lassen Sie sports \u003d ["Fußball", "Baseball"] let total \u003d sports.push ("Fußball", "Schwimmen") console.log (Sport) // ["Fußball", "Baseball", "Fußball", "Schwimmen" "] console.log (gesamt) // 4

Zusammenführen von zwei Arrays

In diesem Beispiel wird apply () verwendet, um alle Elemente aus einem zweiten Array zu verschieben.

Machen nicht Verwenden Sie diese Methode, wenn das zweite Array (im Beispiel moreVegs) sehr groß ist, da die maximale Anzahl von Parametern, die eine Funktion annehmen kann, in der Praxis begrenzt ist. Weitere Informationen finden Sie unter apply ().

Lassen Sie Gemüse \u003d ["Pastinaken", "Kartoffel"] lassen Sie moreVegs \u003d ["Sellerie", "Rote Beete"] // Führen Sie das zweite Array in das erste ein // Entspricht gemüse.push ("Sellerie", "Rote Beete") Array.prototype.push.apply (Gemüse, moreVegs) console.log (Gemüse) // ["Pastinake", "Kartoffel", "Sellerie", "Rote Beete"]

Array-ähnliche Verwendung eines Objekts

Wie oben erwähnt, ist Push absichtlich generisch, und wir können dies zu unserem Vorteil nutzen. Array.prototype.push kann problemlos mit einem Objekt arbeiten, wie dieses Beispiel zeigt.

Beachten Sie, dass wir kein Array zum Speichern einer Sammlung von Objekten erstellen. Stattdessen speichern wir die Sammlung auf dem Objekt selbst und verwenden den Aufruf von Array.prototype.push, um die Methode zu täuschen, dass es sich um ein Array handelt - und es funktioniert einfach, dank der Art und Weise, wie JavaScript es uns ermöglicht, den Ausführungskontext nach Belieben einzurichten.

Sei obj \u003d (Länge: 0, addElem: Funktion addElem (elem) (// obj.length wird automatisch inkrementiert // jedes Mal, wenn ein Element hinzugefügt wird. .Push.call (this, elem))) // Lass uns hinzufügen einige leere Objekte nur zur Veranschaulichung.obj.addElem (()) obj.addElem (()) console.log (obj.length) // → 2

Beachten Sie, dass obj zwar kein Array ist, die Methode push jedoch die Längeneigenschaft von obj erfolgreich inkrementierte, genau wie wenn es sich um ein tatsächliches Array handelte.

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 3. Ausgabe (ECMA-262) Standard Erstdefinition. Implementiert in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Standard
ECMAScript 2015 (6. Ausgabe, ECMA-262)
Die Definition von "Array.prototype.push" in dieser Spezifikation.
Standard
Neuester Entwurf von ECMAScript (ECMA-262)
Die Definition von "Array.prototype.push" in dieser Spezifikation.
Entwurf

Browser-Kompatibilität

Die Kompatibilitätstabelle auf dieser Seite wird aus strukturierten Daten generiert. Wenn Sie zu den Daten beitragen möchten, besuchen Sie bitte https://github.com/mdn/browser-compat-data und senden Sie uns eine Pull-Anfrage.

Aktualisieren Sie die Kompatibilitätsdaten auf GitHub

DesktopHandy, MobiltelefonServer
ChromKanteFeuerfuchsInternet ExplorerOperSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari unter iOSSamsung InternetNode.js
drückenChrome Volle Unterstützung 1Edge Volle Unterstützung 12Firefox Volle Unterstützung 1IE Volle Unterstützung 5.5Opera Volle Unterstützung JaSafari Volle Unterstützung 1WebView Android Volle Unterstützung JaChrome Android Volle Unterstützung 18Firefox Android Volle Unterstützung 4Opera Android Volle Unterstützung JaSafari iOS Volle Unterstützung 1Samsung Internet Android Volle Unterstützung Janodejs Volle Unterstützung Ja

Mit dem Stapel können Sie auf den Datenverlauf der Änderungswerte von Variablen verweisen. Die Beschreibung von Daten und Algorithmen steht im Mittelpunkt der Programmierung. Der Stapel ist die Basis für die Übertragung der Steuerung zwischen Funktionen, die Organisation von Rekursions- und Parameterreferenzen. JavaScript-Syntax und -Semantik ermöglichen es über die Array-Methoden push () und pop (), die Bedeutung zu manipulieren und den Zeitfaktor zu berücksichtigen. Die Besonderheit der Browsersprache und ihre Logik ermöglichen es uns, die Möglichkeiten des Zeitfaktors unterschiedlich zu betrachten.

Datenarray und Logik seiner Bildung

Beschreiben Sie einfach die Variable. Es ist nicht schwer, ein Array von Variablen zu erstellen. Ein Algorithmus, der Daten verwendet, ist eine statische und einfache Lösung für ein Problem. Klassische Datenmanipulation:

  • eine Variable beschreiben (erstellen);
  • einen Wert zuweisen;
  • ändere den Wert;
  • variable entfernen.

Mit den Funktionen push () und pop () können Sie die Art der Variablen und ihre Verwendung ändern. Die Idee eines Stapels hat sich seit seiner "Geburt" nicht geändert, aber die Besonderheit von JS als Browsersprache und modernem Programmierkonzept ermöglicht es, den Zeitfaktor zu berücksichtigen und den Daten Dynamik zu verleihen.

Die Funktion value ") dient zum Hinzufügen von etwas am Ende des Arrays. Die Funktion zum Abrufen des letzten Elements des Arrays. Der Zeiger im Push / Pop-Kontext bewegt sich beim Hinzufügen zum hinzugefügten Element beim Abrufen zum vorletzten Element, und das letzte Element ist das Ergebnis der Operation.

Ein Stapel von Platten - die traditionelle Beschreibung eines Stapels in JavaScript - erhält eine neue Bedeutung. Die Variable sei immer ein Array. Ein Array selbst ist eine Sammlung von Variablen. Wenn Sie jedoch eine Variable als Array betrachten, können Sie die Dynamik der Änderung ihrer Werte unterschiedlich betrachten.

Bewegung durch Werte

Die Essenz des Stapels - kam zuletzt herein, zuerst links. Sie können keinen Wert aus dieser Reihenfolge extrahieren. Wenn Sie diese Regel genau beachten und die Werte des gesamten Arrays als eine Variable betrachten, können Sie die Dynamik von Änderungen der Werte dieser Variablen im Laufe der Zeit ermitteln.

In diesem Beispiel ist das Hinzufügen von JS array.push (...) -Werten eine Folge von Aktionen, das Abrufen von JS array pop () -Werten eine andere Folge. Beide Vorgehensweisen hängen miteinander zusammen. Dies bedeutet, dass das aktive Element seinen Wert nicht nur zeitlich, sondern auch in der Logik seiner Änderung ändert.

Rekursion und Wertedynamik

Wenn sich eine Funktion selbst aufrufen und ihren Zweck sicher erfüllen kann, ist dies die volle Funktionalität. Ein einfaches Beispiel ist eine Tabelle. Die Tabelle enthält möglicherweise andere Tabellen. Und jede Tabelle besteht aus Zeilen, Spalten und Zellen. Jede Zelle kann eine Tabelle enthalten. Mehrere Zellen pro Zeile oder Spalte können zu einer Zelle zusammengefasst werden, die eine Tabelle enthalten kann. In einer Tabelle in einer Zelle kann es eine Zelle mit zwei oder mehr Tabellen geben.

Es ist fast unmöglich, das Gesagte im klassischen Programmierstil umzusetzen, aber im rekursiven Stil ist es elementar. Wenn sich die Funktionalität des Algorithmus zum Arbeiten mit der Tabelle in einer beliebigen Zelle implementieren lässt, handelt es sich um JS-Array-Push. Dieser Trick hat in JavaScript eine besondere Bedeutung. Tabellen werden individuell verwendet. Der Seitenbaum (DOM) ist die Arbeit auf der Seite.

Handler hängen an DOM-Elementen (Seiten-Tags). Eine Option, wenn ein solcher Handler einmal ausgelöst wird, ist eine völlig andere Option, wenn er sich selbst oft aufrufen kann. Im Kontext aller Handler aller Seitenelemente wird die zeitliche Dynamik der Seite erhalten.

Push / Pop und Rekursion sind eine etwas andere Vorstellung von der Logik der Seite: Alles ändert sich je nach Bedarf in der aktuellen Situation und wird nicht im Voraus in Form einer sequentiellen Verarbeitung der Aktionen des Besuchers programmiert.

In JavaScript. Hier werden wir unsere Bekanntschaft mit Arrays fortsetzen. Lassen Sie uns über die Eigenschaft length sprechen - wie Sie herausfinden können: Wie viele Elemente enthält ein Array?

Lass uns lernen elemente hinzufügen Am Anfang und Ende des Arrays befinden sich die Methoden zum Verschieben bzw. Verschieben.

Und auch mit den Shift- und Pop-Methoden, die wir können teile entfernen auch vom Anfang und Ende des Arrays!

Ein Array ist im Wesentlichen ein Objekt, das aus einer bestimmten Anzahl verschiedener Elemente besteht.

Mit der Eigenschaft length können Sie die Anzahl der Elemente im Array ermitteln.

Nehmen wir zum Beispiel das Array von sieben Wochentagen, das uns aus dem vorherigen Thema bekannt ist.

Lassen Sie uns die Anzahl der Elemente im Array herausfinden und anzeigen. Erstellen Sie dazu, wie Sie im folgenden Beispiel sehen können, eine Variable, deren Wert das für uns interessante Array ist, für das wiederum die Eigenschaft length angegeben wird.

array.length - Dieser Code gibt die Anzahl der Elemente des Arrays an (Wo array - Arrayname) .

Daher setzen wir eine Zahl in die Zählvariable, die der Anzahl der Elemente im Array entspricht.

So funktioniert die Eigenschaft length.

Push-Methode - Fügt ein Element am Ende des Arrays hinzu.

Um mit Methoden zum Hinzufügen von Elementen arbeiten zu können, müssen Sie ein Array erstellen.

Unten habe ich ein Array "Freunde" erstellt - Freunde.

Jetzt müssen wir ein Element hinzufügen, dh einen anderen Namen am Ende des Arrays.

Hierfür gibt es eine Push-Methode: Sie fügt dem Ende des Arrays ein Element hinzu. Es sieht aus wie das:

Nastya, Grigory, Vyacheslav, Alexey, Yakov

Jacob

Um die Arbeit der Push-Methode im obigen Beispiel zu testen, haben wir die Anzahl der Elemente des Friends-Arrays mithilfe der length-Eigenschaft abgeleitet - es gibt 5 davon. Anschließend haben wir das gesamte Friends-Array sowie angezeigt letztes Element des Arrays .

Jetzt können Sie selbst sehen, dass das Element am Ende des Arrays hinzugefügt wird!

Methode zum Verschieben - Element hinzufügen zum Anfang des Arrays.

Hier verweisen wir wieder auf das Friends Array.

Jetzt müssen wir am Anfang des Arrays ein Element hinzufügen. Hierfür gibt es eine Verschiebungsmethode.

Die Anzahl der Elemente im Array beträgt 5

Boris, Nastya, Grigory, Vyacheslav, Alexey

Boris

Um die Funktionsweise der Methode zum Verschieben zu verschieben, haben wir die Anzahl der Elemente des Friends-Arrays mithilfe der length-Eigenschaft abgeleitet und anschließend das gesamte Friends-Array sowie angezeigt erstes Element des Arrays (Denken Sie daran, dass die Nummerierung der Array-Elemente bei 0 beginnt.) .

Wie Sie sehen, wird das Element jetzt am Anfang des Arrays hinzugefügt!

Pop-Methode - entfernt letztes Element aus dem Array.

Und wieder arbeiten wir mit dem Array "Friends"

Verwenden der Pop-Methode - entfernen Sie das letzte Element aus dem Array:

Nastya, Grigory, Vyacheslav

Vyacheslav

Zur Verdeutlichung der Pop-Methode haben wir erneut die Anzahl der Array-Elemente mithilfe der length-Eigenschaft abgeleitet und anschließend das gesamte Friends-Array abgeleitet - ohne dass das letzte Element entfernt wurde.

Und auch gebracht letztes Element das resultierende Array ... Um das letzte Element unter Verwendung der Eigenschaft length anzuzeigen, haben wir die Gesamtzahl der verbleibenden Elemente in Array (3) genommen und 1 subtrahiert. Daher haben wir das letzte Element des Arrays bei Nummer 2 angezeigt. Dies ist jedoch das dritte Element, da die Nummerierung im Array mit beginnt 0 !!!

Shift-Methode - entfernt erstes Element aus Array.

Vor uns, wie zuvor, das Array "Freunde"

Mit der Shift-Methode - entfernen Sie das erste Element aus dem Array:

Die Anzahl der Elemente im Array beträgt 3

Gregory, Vyacheslav, Alexey

Gregory

Um die Funktionsweise der Verschiebungsmethode zu testen, haben wir schließlich die Anzahl der Elemente des neu erhaltenen Arrays mithilfe der length-Eigenschaft abgeleitet und dann die gesamten Array-Freunde abgeleitet - ohne das erste entfernte Element.

Und auch gebracht erstes Element des Arrays... Die Nummerierung im Array beginnt bei 0 !!!

Ich werde dich und mich selbst daran erinnern interessanter Moment dieses Artikels!

Um die Nummer / den Index des letzten Elements des Arrays herauszufinden, benötigen Sie die Anzahl seiner Elemente (d.h. von) Subtrahiere eins !!!

Damit haben wir bereits im Themenabschnitt gearbeitet.

Eine gute Möglichkeit, diesen Punkt zu veranschaulichen, wäre eine Fortsetzung des Beispiels aus dem Themenabschnitt, in dem wir uns das Array von sieben Wochentagen angesehen haben.

Die Anzahl der Elemente in Array-Tagen beträgt 7

Die Nummer des letzten Elements des Arrays ist 6

Mit diesem Beispiel haben wir gleichzeitig noch einmal die Tatsache festgestellt, dass die Array-Nummerierung beginnt bei 0... Und wie Sie in diesem Beispiel sehen können, ist die Nummer des 7. Elements des Arrays die Nummer 6.

Am Ende dieses Themas werden wir auch unsere Hausaufgaben machen. Versuchen Sie erneut, es selbst zu lösen.

Die Hausaufgaben zum Entfernen aus ... und Hinzufügen von Elementen zu einem Array in Javascript haben folgenden Inhalt:

1. Erstellen Sie ein Array mit Früchten: Orange, Banane, Birne.
2. Drucken Sie auf dem Bildschirm aus, wie viele Früchte Sie derzeit im Array haben.
3. Fügen Sie mit den in der vorherigen Lektion erlernten Methoden am Ende des Arrays zwei Früchte hinzu - einen Apfel und eine Ananas sowie am Anfang des Arrays eine Grapefruit.
4. Zeigen Sie an, wie viele Früchte Sie derzeit im Array haben.
5. Entfernen Sie mit den Methoden, die Sie in der vorherigen Lektion gelernt haben, das letzte und das erste Element aus dem Array.
6. Zeigen Sie an, wie viele Früchte Sie derzeit im Array haben.

Orange, Banane, Birne

Jetzt sind 3 Früchte in meinem Korb

Grapefruit, Orange, Banane, Birne, Apfel, Ananas

Jetzt sind 6 Früchte in meinem Korb

Orange, Banane, Birne, Apfel

Jetzt sind 4 Früchte in meinem Korb