Es gibt viele neue Dinge, die in ES5 hinzugefügt werden, und das Verständnis wird von großer Hilfe sein, um JavaScript zu schreiben. Zum Beispiel müssen wir im Array möglicherweise nicht für Schleifen mit einer unkomplizierten und auffälligen Art und Weise gehen.
Eine neue Methode zum Schreiben von Arrays wurde in ES5 wie folgt hinzugefügt:
foreach (js v1.6)
Karte (JS v1.6)
Filter (JS v1.6)
Einige (JS v1.6)
Jeder (js v1.6)
INDEXOF (JS v1.6)
lastIndexof (JS v1.6)
Reduzieren (JS v1.8)
Reduzierlicht (JS v1.8)
1. häufig verwendete Array -Array -Objekteigenschaften in JS:
Wie in der Abbildung gezeigt, ist der mit einem roten Kreis markierte Teil ein neues Attribut, das ES5 hinzugefügt wurde.
2. Browserunterstützungsstatus:
• dh: 9+;
•Chrom;
• Firefox2+;
• Safari 3+;
• Opera 9,5+;
3. Positionsmethode
ECMAScript5 definiert 2 Positionsmethoden für Arrays. indexof (), lastIndexof ();
Beide Methoden empfangen zwei Parameter: das zu findene und (optionale) Index, der den Speicherort des Suchbegriffspunkts angibt.
Unter ihnen schaut indexof () vom Beginn des Arrays (Position 0) zurück, während lastIndexof () sich vom Ende des Arrays nach vorne freut.
Beide Methoden müssen die Position des Elements zurückgeben, die im Array gefunden werden sollen, oder -1, wenn es nicht gefunden wird.
Beispiel:
VAR -Zahlen = [1,2,3,4,5,4,3,2,1]; Warn (Zahlen.Indexof (4)); //4alert(Number.lastIndexof(4)); //5alert(Number.indexof(4,4)); //5alert(Number.lastIndexof(4,4)); // 3
4. Iterationsmethode
ECMAScript5 definiert 5 iterative Methoden für Arrays.
4.1.Every ()
Definition und Verwendung: Die Methode jeder () wird verwendet, um festzustellen, ob alle Elemente des Arrays die angegebenen Bedingungen erfüllen (bereitgestellt durch eine Funktion).
Mit der Methode jeder () werden die angegebene Funktion verwendet, um alle Elemente im Array zu erkennen:
• Wenn in dem Array, das nicht erfüllt ist, ein Element erkannt wird, gibt der gesamte Ausdruck falsch zurück und die verbleibenden Elemente werden nicht erneut erkannt.
• Geben Sie True zurück, wenn alle Elemente den Zustand erfüllen.
Hinweis: Jeder () erkennt keine leeren Arrays.
Hinweis: Jeder () ändert das ursprüngliche Array nicht.
Beschreibung: Erkennen Sie, ob alle Elemente des Array -Alters größer als 18 sind:
var ages = [32, 33, 16, 40]; Function CheckAdult (Alter) {Return Age> = 18;Das Ergebnis ist:
FALSCH;
4.2. Manche()
Definition und Verwendung: Die Methode mit einigen () wird verwendet, um festzustellen, ob Elemente in einem Array die angegebenen Bedingungen erfüllen (bereitgestellt durch die Funktion).
Führen Sie die angegebene Funktion in jedem Element im Array aus, und wenn die Funktion für beide Elemente true zurückgibt, gibt sie True zurück.
Der Code ist wie folgt:
var numbers = [1,2,3,4,5,4,3,2,1]; var someresult = numbers.some (Funktion (Element, Index, Array) {// Element bezieht sich auf Array -Wert; Index bezieht sich auf Array -Subscript; Array bezieht sich auf Array selbst; Rückgabe> 2);}); Alert (Someresult);Das Ergebnis ist:
WAHR;
4.3. Filter()
Definition und Verwendung: Die Filter () -Methode erstellt ein neues Array, und die Elemente im Neuarray werden auf alle Elemente im angegebenen Array überprüft, die die Kriterien erfüllen.
Führen Sie eine bestimmte Funktion auf jedem Element im Array aus und geben Sie ein Array von Elementen zurück, die die truen zurückgeben.
Beschreibung: Um ein Array mit Werten größer als 2 zurückzugeben, ist der Code wie folgt:
var numbers = [1,2,3,4,5,4,3,2,1]; var filterresult = number.filter (Funktion (Element, Index, Array) {// Element bezieht sich auf Arraywert; Index bezieht sich auf Array -Subscript; Array bezieht sich auf Array selbst;Das Ergebnis ist:
[3,4,5,4,3]
4.4. Karte()
Definition und Verwendung: Die Methode MAP () gibt ein neues Array zurück, und die Elemente im Array sind die Werte, die vom ursprünglichen Array -Element nach dem Aufrufen der Funktion verarbeitet werden.
Führen Sie die angegebene Funktion auf jedem Element im Array aus und geben Sie ein Array zurück, das aus den Ergebnissen jedes Funktionsaufrufs besteht.
Beschreibung: Multiplizieren Sie jeden Begriff im Array mit 2 und geben Sie das aus diesen Produkten bestehende Array zurück. Der Code ist wie folgt:
var numbers = [1,2,3,4,5,4,3,2,1]; var mapresult = number.map (Funktion (Element, Index, Array) {// Element bezieht sich auf Array -Wert; Index bezieht sich auf Array -Subscript; Array bezieht sich auf Array selbst; Rückgabeelement*2;}); Alert (Mapresult);Das Ergebnis ist:
[2,4,6,8,10,8,6,4,2]
4.5. foreach ()
Definition und Verwendung: Führen Sie die angegebene Funktion auf jedem Element im Array aus. Diese Methode hat keinen Rückgabewert.
Im Wesentlichen die gleiche wie die Verwendung von A for Loop, um durch ein Array zu iterieren. Der Code ist wie folgt:
var numbers = [1,2,3,4]; numbers.foreach (Funktion (Element, Index, Array) {console.log (item);});Das Ergebnis ist:
1
2
3
4
5. Methode reduzieren
ECMAScript5 fügt zwei neue Methoden hinzu, um Arrays zu reduzieren: record () und receright ();
Diese beiden Methoden werden alle Elemente im Array iterieren und dann einen endgültigen zurückgegebenen Wert erstellen. Unter ihnen startet die Reduzierung der Reduzierung () () () die Verringerung () -Methode vom ersten Punkt des Arrays und geht sie einzeln bis zum Ende durch.
Reduderight () startet vom letzten Punkt des Arrays und durchquert nach vorne zum ersten Element. Beide Methoden empfangen zwei Parameter: eine Funktion, die auf jedem Element aufgerufen wird, und (optional) als Anfangswert für die Verengungsbasis.
Die Funktion, die an record () und receright () übergeben wurde, empfängt 4 Parameter: den vorherigen Wert, der aktuelle Wert, den Index des Elements und das Array -Objekt.
Beschreibung: Verwenden Sie die Methode record (), um den Betrieb der Summe aller Werte in einem Array durchzuführen. Der Code ist wie folgt:
var values = [1,2,3,4,5]; var sum = Werte.Reduce (Funktion (prev, cur, index, array) {return prew+cur;}); alert (sum);Das Ergebnis ist:
15
Das obige ist die relevante Kenntnis der neu hinzugefügten Array -Methode im vom Editor vorgelegten JavaScript -ES5 -Standard. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!