Array ()

Ein Array ist eine geordnete Liste von Werten, die normalerweise mit der Absicht erstellt werden, numerisch indizierte Werte zu durchlaufen, beginnend mit dem Index Null. Sie müssen wissen, dass Arrays numerisch geordnete Sets sind, im Gegensatz zu Objekten, denen Eigenschaftennamen mit Werten in nicht-numerischer Reihenfolge zugeordnet sind. Arrays verwenden im Wesentlichen Zahlen als Suchschlüssel, während Objekte benutzerdefinierte Eigenschaftsnamen haben. JavaScript verfügt nicht über echte assoziative Arrays, es können jedoch Objekte verwendet werden, um die Funktionalität assoziativer Arrays zu erreichen.

Im folgenden Beispiel speichere ich vier Zeichenketten in myArray dass ich über einen numerischen Index zugreifen kann. Ich vergleiche und kontrastiere myArray auf ein Objektliteral, das ein assoziatives Array nachahmt.

Beispiel: sample133.html

 

Arrays können Werte jeder Art enthalten und diese Werte können jederzeit aktualisiert oder gelöscht werden.

Wenn Sie einen Hash (aka assoziatives Array) benötigen, ist ein Objekt die nächstgelegene Lösung.

Ein Array () ist nur eine besondere Art von Objekt(). Das ist, Array () Instanzen sind im Grunde Objekt() Instanzen mit ein paar zusätzlichen Funktionen (.Länge und einen eingebauten numerischen Index).

In einem Array enthaltene Werte werden im Allgemeinen als Elemente bezeichnet.


Array () Parameter

Sie können die Werte einer Array-Instanz als durch Kommas getrennte Parameter an den Konstruktor übergeben (neues Array ('foo', 'bar');). Das Array () Konstruktor kann bis zu 4.294.967.295 Parameter aufnehmen.

Wenn jedoch nur ein Parameter an den gesendet wird Array () Konstruktor und dieser Wert ist eine ganze Zahl ('1', '123' oder '1.0'), die zum Einrichten von verwendet wird Länge des Arrays und wird nicht als im Array enthaltener Wert verwendet.

Beispiel: sample134.html

 

Array () Eigenschaften und Methoden

Das Array () Das Objekt verfügt über die folgenden Eigenschaften (ohne geerbte Eigenschaften und Methoden):

Eigenschaften (Array.prototyp):

  • Prototyp

Eigenschaften und Methoden der Array-Objektinstanz

Array-Objektinstanzen verfügen über die folgenden Eigenschaften und Methoden (ohne geerbte Eigenschaften und Methoden):

Instanzeigenschaften (var myArray = ['foo', 'bar']; myArray.length;):

  • Konstrukteur
  • Länge

Instanzmethoden (var myArray = ['foo']; myArray.pop ();):

  • Pop()
  • drücken()
  • umkehren()
  • Verschiebung()
  • Sortieren()
  • spleißen()
  • nicht verschieben ()
  • concat ()
  • Beitreten()
  • Scheibe()

Arrays erstellen

Wie die meisten Objekte in JavaScript kann ein Array-Objekt mithilfe von erstellt werden Neu Operator in Verbindung mit der Array () Konstruktor oder mithilfe der Literal-Syntax.

Im folgenden Beispiel erstelle ich das myArray1 Array mit vordefinierten Werten mit der Array () Konstruktor und dann myArray2 wörtliche Schreibweise verwenden.

Beispiel: sample135.html

 

Es ist üblicher, ein Array zu sehen, das mit der Literal-Syntax definiert wurde, es sollte jedoch beachtet werden, dass diese Verknüpfung nur die Verwendung von Array () Konstrukteur.

In der Praxis ist das Array-Literal normalerweise alles, was Sie jemals brauchen werden.

Unabhängig von der Definition eines Arrays wird das Array immer noch erstellt, wenn Sie dem Array jedoch keine vordefinierten Werte zur Verfügung stellen, es enthält jedoch keine Werte.


Hinzufügen und Aktualisieren von Werten in Arrays

Ein Array kann jederzeit an einem beliebigen Index zu einem Array hinzugefügt werden. In dem folgenden Beispiel fügen wir dem numerischen Index 50 eines leeren Arrays einen Wert hinzu. Was ist mit all den Indizes vor 50? Nun, wie ich schon sagte, Sie können einem Array jederzeit und zu jedem Index einen Wert hinzufügen. Wenn Sie dem numerischen Index 50 eines leeren Arrays jedoch einen Wert hinzufügen, füllt JavaScript alle erforderlichen Indizes davor mit nicht definiert Werte.

Beispiel: sample136.html

 

In Anbetracht der dynamischen Natur von JavaScript und der Tatsache, dass JavaScript nicht stark typisiert ist, kann ein Array-Wert jederzeit aktualisiert werden, und der im Index enthaltene Wert kann ein beliebiger gesetzlicher Wert sein. Im folgenden Beispiel ändere ich den Wert am numerischen Index 50 in ein Objekt.

Beispiel: sample137.html

 

Länge vs. Index

Ein Array beginnt mit der Indizierung von Werten bei Null. Dies bedeutet, dass der erste numerische Slot, der einen Wert in einem Array enthält, wie folgt aussieht myArray [0]. Dies kann etwas verwirrend sein, wenn Sie ein Array mit einem einzelnen Wert erstellen. Der Index des Werts ist 0, während die Länge des Arrays 1 ist. Stellen Sie sicher, dass die Länge eines Arrays die Anzahl der im Array enthaltenen Werte darstellt , während der numerische Index des Arrays bei null beginnt.

Im folgenden Beispiel der Zeichenfolgenwert Blau ist in der enthalten myArray Array am numerischen Index 0, aber da das Array einen Wert enthält, ist die Länge des Arrays 1.

Beispiel: sample138.html

 

Definieren von Arrays mit einem vordefinierten Länge

Wie ich bereits erwähnt habe, indem Sie einen einzelnen Integer-Parameter an den übergeben Array () Konstruktor kann die Länge der Arrays oder die Anzahl der darin enthaltenen Werte vordefiniert werden. In diesem Fall macht der Konstruktor eine Ausnahme und nimmt an, dass Sie die Länge des Arrays festlegen und das Array nicht mit Werten vorbelegen möchten.

Im nächsten Beispiel richten wir das ein myArray Array mit einer vordefinierten Länge von 3. Wieder konfigurieren wir die Länge des Arrays und übergeben keinen Wert, der im 0-Index gespeichert werden soll.

Beispiel: sample139.html

 

Bereitstellung eines vordefinierten Länge gibt jedem numerischen Index bis zu der angegebenen Länge einen zugehörigen Wert von nicht definiert.

Sie fragen sich vielleicht, ob Sie ein vordefiniertes Array erstellen können, das nur einen numerischen Wert enthält. Ja, das ist die wörtliche Form var myArray = [4].


Festlegen der Arraylänge Kann Werte hinzufügen oder entfernen

Das Länge Die Eigenschaft eines Array-Objekts kann verwendet werden, um die Länge eines Arrays abzurufen oder festzulegen. Wie zuvor gezeigt, wird das Hinzufügen der Länge größer als die tatsächliche Anzahl der Werte, die im Array enthalten sind nicht definiert Werte für das Array. Was Sie vielleicht nicht erwarten, ist, dass Sie tatsächlich Werte aus einem Array entfernen können, indem Sie den Längenwert auf eine Zahl setzen, die unter der Anzahl der im Array enthaltenen Werte liegt.

Beispiel: sample140.html

 

Arrays mit anderen Arrays (auch als mehrdimensionale Arrays bezeichnet)

Da ein Array einen beliebigen gültigen JavaScript-Wert enthalten kann, kann ein Array andere Arrays enthalten. Wenn dies erfolgt ist, wird das Array, das gekapselte Arrays enthält, als mehrdimensionales Array betrachtet. Der Zugriff auf gekapselte Arrays erfolgt durch Klammerverkettung. Im folgenden Beispiel erstellen wir ein Array-Literal, das ein Array enthält, in dem wir ein anderes Array-Literal erstellen, in dem wir ein anderes Array-Literal erstellen, das einen Zeichenfolgenwert am 0-Index enthält.

Beispiel: sample141.html

 

Dieses Codebeispiel ist ziemlich dumm, aber Sie haben die Vorstellung, dass Arrays andere Arrays enthalten können, und Sie können unbegrenzt auf gekapselte Arrays zugreifen.


Durchlaufen eines Arrays, vorwärts und rückwärts

Die einfachste und wahrscheinlich schnellste Methode zum Schleifen eines Arrays ist die while-Schleife.

Im folgenden Code werden wir vom Anfang des Index bis zum Ende durchlaufen.

Beispiel: sample142.html

 

Und jetzt machen wir eine Schleife vom Ende des Index zum Anfang.

Beispiel: sample143.html

 

Fazit

Wenn Sie sich jetzt wundern, warum ich hier keine Schleifen zeige, dann, weil Schleifen weniger bewegliche Teile haben und ich glaube, dass sie leichter lesbar sind.

Dieser Artikel rundet Arrays ab.