Ich benutze JS schon lange, aber ich habe nie in die Array -Form von JS eingeteilt. Verwenden Sie es gelegentlich, es ist eine einfache Zeichenfolge.Split (char). Ein Projekt, das ich in dieser Zeit durchgeführt habe, verwendet viele Arrays. Ich denke, ich bin ein Meister von JS und ich habe keine Ahnung, wie ich anfangen soll. Ich bin grausam und ich werde es lernen! hehe. Nach dem Lernen wurde mir klar, dass die Funktion des JS -Arrays sehr leistungsfähig, viel stärker ist als VB und C#. Schauen wir es uns langsam an.
1. Schöpfung von Arrays
var arrayobj = new Array (); // Erstellen Sie ein Array var arrayobj = new Array ([Größe]); // Erstellen Sie ein Array und geben Sie die Länge an, beachten Sie, dass es sich nicht um die obere Grenze handelt, sondern die Länge var arrayOBJ = Neuarray ([Element0 [, Element1 [, ..., Elementn]]]]); // Erstellen Sie ein Array und weisen Sie einen Wert zu
Es ist zu beachten, dass zwar die zweite Methode ein Array erstellt, das die Länge angibt, das Array in allen Fällen länger ist, dh auch wenn die Länge angegeben ist, kann das Element weiterhin außerhalb der angegebenen Länge gespeichert werden. Hinweis: Die Länge ändert sich entsprechend.
2. Zugang zu Elementen von Array
var testgetarrValue = arrayobj [1]; // Erhalten Sie den Elementwert des Arrays
Arrayobj [1] = "Dies ist ein neuer Wert"; // dem Array -Element einen neuen Wert zuweisen
3.. Hinzufügen von Array -Elementen
Code
Arrayobj. Push ([Item1 [Item2 [.. [itemn]]]; ArrayOBJ.SPLICE (InsertPos, 0, [Item1 [, Item2 [,. [, itemn]]]]); // Ein oder mehrere neue Elemente in die angegebene Position des Arrays einfügen, bewegen sich die Elemente an der Einfügungsposition automatisch rückwärts und geben "" zurück.
4. Löschen von Array -Elementen
ArrayObj.pop (); // das letzte Element entfernen und den Element Value ArrayOBJ.Shift () zurückgeben; // Entfernen Sie das letzte Element und senden Sie den Elementwert zurück. Die Elemente im Array verschieben automatisch die VorwärtsarrayOBJ.splice (DeletePos, DeleteCount). // Löschen Sie die Elemente der angegebenen Anzahl von DeleteCount aus dem angegebenen Positionsdeletepos und geben Sie das entfernte Element im Array -Formular zurück
5. Abfangen und Verschmelzung von Arrays
ArrayOBJ.Slice (Start, [Ende]); // BEWEISEN SIE einen Teil des Arrays in Form eines Arrays, beachten Sie, dass die entsprechenden Elemente nicht enthalten sind. Wenn das Ende weggelassen wird, werden alle Elemente nach dem Start kopiert
ArrayOBJ.Concat ([Item1 [, Item2 [,. [, itemn]]]]); // Verbinden Sie mehrere Arrays (können auch Zeichenfolgen oder eine Mischung aus Arrays und Saiten in ein Array sein, und geben Sie das angeschlossene neue Array zurück
6. Kopie von Array
ArrayOBJ.Slice (0); // Geben Sie das Kopie -Array des Arrays zurück, beachten Sie, dass es sich um ein neues Array handelt, auf das nicht zeigt
arrayobj.concat (); // Geben Sie das Kopie -Array des Arrays zurück, beachten Sie, dass es sich um ein neues Array handelt, auf das nicht zeigt
7. Sortieren Sie Array -Elemente
Arrayobj.Reverse (); // Umgekehrt das Element (das erste wird zuletzt eingestuft, der letzte wird zuerst eingestuft) und geben die Array -Adresse zurück
ArrayObj.Sort (); // Array -Elemente sortieren und Array -Adresse zurückgeben
8. Sackung von Array -Elementen
Arrayobj.Join (Trennzeichen); // Gibt eine Zeichenfolge zurück, die jeden Elementwert des Arrays zusammen verbindet, der durch einen Trennzeichen getrennt ist.
tolocalestring, tostring, valueof: Es kann als besondere Verwendung von Join angesehen werden, nicht oft verwendet
2. Drei Eigenschaften des Array -Objekts
1. Längenattribut
Das Längenattribut repräsentiert die Länge des Arrays, dh die Anzahl der Elemente darin. Da der Index eines Arrays immer von 0 beginnt, betragen die oberen und unteren Grenzen eines Arrays: 0 bzw. Länge-1. Im Gegensatz zu den meisten anderen Sprachen ist die Länge Eigenschaft von JavaScript -Arrays veränderlich, was besondere Aufmerksamkeit erfordert. Wenn das Längenattribut auf größer ist, ändert sich der Status des gesamten Arrays nicht tatsächlich, nur das Längenattribut wird größer; Wenn das Längenattribut auf kleiner als das Original eingestellt ist, gehen alle Werte von Elementen mit Indizes größer oder gleich der Länge im ursprünglichen Array verloren. Hier ist ein Beispiel, das zeigt, dass das Längenattribut verändert wird:
Code
var arr = [12,23,5,3,25,98,76,54,56,76]; // eine Array -Warnung definieren (arr.length); // Zeigen Sie die Länge des Arrays um 10 arr.length = 12 an; // die Länge des Array -Alarms erhöhen (Arr.Length); // Zeigen Sie, dass die Länge des Arrays zu 12 arr (arr [8]) geworden ist; // Zeigen Sie den Wert des 9. Elements, 56 arr.length = 5; // die Länge des Arrays auf 5 reduzieren, und Elemente mit einem Index, der 5 entspricht oder überschreiten, werden abgeworfen (arr [8]); // Zeigen Sie, dass das 9. Element "undefined" arr.length = 10 geworden ist; // die Länge des Arrays auf 10 arr (arr [8]) wiederherstellen; // Obwohl die Länge auf 10 wiederhergestellt wird, kann das 9. Element nicht zurückgezogen werden, wobei "undefinierte" angezeigt werden kann.
Aus dem obigen Code können wir die Eigenschaften des Längenattributs deutlich sehen. Das Längenobjekt kann jedoch nicht nur explizit eingestellt werden, es kann auch implizit geändert werden. Eine nicht deklarierte Variable kann in JavaScript verwendet werden. In ähnlicher Weise ist ein undefiniertes Array -Element (in Bezug auf ein Element, dessen Index überschreitet oder der Länge gleich ist). Zu diesem Zeitpunkt wird der Wert des Längenattributs auf den Wert des verwendeten Elementindex plus 1 festgelegt. Beispielsweise der folgende Code:
var arr = [12,23,5,3,25,98,76,54,56,76]; Warn (Arr.Length); arr [15] = 34; alert (arr.länge);
Der Code definiert zuerst ein Array mit 10 Nummern. Durch die Alert -Anweisung ist ersichtlich, dass seine Länge 10 beträgt. Dann wird ein Element mit einem Index von 15 verwendet und der Wert 15 beträgt, dh arr [15] = 34. Zu diesem Zeitpunkt wird die Länge des Arrays unter Verwendung der Alert -Anweisung ausgegeben, und das Ergebnis ist 16. Wie auch immer, dies ist eine überraschende Funktion für Entwickler, die an stark typisierte Programmierung gewöhnt sind. Tatsächlich hat ein Array, das mit der Form von New Array () erstellt wurde, eine anfängliche Länge von 0. Es ist der Betrieb von undefinierten Elementen, die die Länge des Arrays verändern.
Aus der obigen Einführung können wir erkennen, dass das Längenattribut so magisch ist, dass es die Kapazität des Arrays leicht erhöhen oder verringern kann. Daher hilft ein eingehendes Verständnis des Längenattributs, es während des Entwicklungsprozesses flexibel anzuwenden.
2. Prototypattribute
Gibt einen Verweis auf den Objekttyp -Prototyp zurück. Das Prototyp -Attribut wird vom Objekt gemeinsam genutzt.
ObjectName.Prototype
Der Objektname -Parameter ist der Name des Objektobjekts.
veranschaulichen:
Verwenden Sie das Prototyp -Attribut, um eine Reihe grundlegender Funktionen der Klasse eines Objekts bereitzustellen. Eine neue Instanz eines Objekts "erbt" die Operation, die den Objektprototyp gibt.
Verwenden Sie für Array -Objekte das folgende Beispiel, um den Zweck des Prototyp -Attributs zu veranschaulichen.
Fügen Sie dem Array -Objekt eine Methode hinzu, um den maximalen Elementwert im Array zurückzugeben. Um dies zu erreichen, deklarieren Sie eine Funktion, fügen Sie sie zu Array.Prototype hinzu und verwenden Sie sie.
Code
Funktion array_max () {var i, max = this [0]; für (i = 1; i <this.Length; i ++) {if (max <this [i]) max = this [i];} return max;} Array.Prototype.Max = array_max; var x = New Array (1, 1, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 5, 4, 5, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 5, 4, 5, 4, 5, 5, 4, 5, 5, 4, 5, 5, 4, 5, 5, 4, 5, 5, 4, 5, 4, 5, 5, 4, 5, 4, 5, 6);Nachdem dieser Code ausgeführt wurde, speichert Y den Maximalwert im Array X oder 6.
3. Konstruktorattribut
Eine Funktion, die die Erstellung eines Objekts darstellt.
Object.Constructor // Objekt ist der Name eines Objekts oder einer Funktion.
Beschreibung: Die Konstruktoreigenschaft ist ein Mitglied aller Objekte mit Prototyp. Dazu gehören alle jscript-ineritierten Objekte mit Ausnahme der globalen und mathematischen Objekte. Die Konstruktoreigenschaft enthält einen Verweis auf eine Funktion, die eine bestimmte Objektinstanz erstellt.
Zum Beispiel:
x = neuer String ("hi");
if (x.constructor == string) // prozess (Bedingung ist wahr).
oder
Funktion myfunc {
// Funktionskörper.
}
y = neuer myfunc;
if (y.constructor == myfunc) // prozess (Bedingung ist wahr).
Für Arrays:
y = new Array ();