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 ()
ParameterSie 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 MethodenDas Array ()
Das Objekt verfügt über die folgenden Eigenschaften (ohne geerbte Eigenschaften und Methoden):
Eigenschaften (Array.prototyp
):
Prototyp
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()
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.
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
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
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]
.
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
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.
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
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.