Heim > Artikel > Web-Frontend > Wozu dient die Map()-Methode von Arrays in Ecmascript 5?
In Ecmascript kann die Methode „map()“ die angegebene Rückruffunktion für jedes Element des Arrays aufrufen und ein Array zurückgeben, das die Ergebnisse enthält: Syntax „array.map(function(currentValue,index,arr), thisValue)“ .
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer. Die Methode
map() kann die angegebene Rückruffunktion für jedes Element des Arrays aufrufen und ein Array mit den Ergebnissen zurückgeben. Die
map()-Methode verarbeitet Elemente nacheinander in der Reihenfolge der ursprünglichen Array-Elemente.
Syntax
array.map(function(currentValue,index,arr), thisValue)
Parameter | Beschreibung |
---|---|
Funktion(aktueller Wert, Index,arr) |
Erforderlich. Funktion, jedes Element im Array führt diese Funktion aus. Funktionsparameter:
|
thisValue | Optional. Das Objekt wird als Ausführungsrückruf verwendet, an die Funktion übergeben und als Wert von „this“ verwendet. Wenn thisValue weggelassen wird oder null oder undefiniert übergeben wird, dann ist dies der Callback-Funktion das globale Objekt. Die Methode |
map() gibt ein neues Array zurück, wobei jedes Element der Rückgabewert der Rückruffunktion des zugehörigen ursprünglichen Array-Elements ist. Für jedes Element im Array ruft die Methode „map()“ die Callbackfn-Funktion einmal auf (in aufsteigender Indexreihenfolge) und ruft die Callback-Funktion nicht für fehlende Elemente im Array auf.
Zusätzlich zu Array-Objekten kann die Methode „map()“ von jedem Objekt mit einer Längeneigenschaft verwendet werden, das über einen indizierten Eigenschaftsnamen verfügt, beispielsweise ein Arguments-Parameterobjekt. Die Methode
map() ändert das ursprüngliche Array nicht direkt, die Rückruffunktion kann es jedoch ändern. Die Ergebnisse, die durch Ändern des Array-Objekts nach dem Start der Kartenmethode erzielt werden, werden in der Tabelle angezeigt.
Bedingungen nach dem Start der Map-Methode | Ob das Element an die Callback-Funktion übergeben wird |
---|---|
Elemente hinzufügen, die über die ursprüngliche Länge des Arrays hinausgehen | Nein |
Fügen Sie Elemente hinzu, um das fehlende Element im Array zu füllen. | Ja, wenn der Index nicht an die Rückruffunktion übergeben wurde. |
Das Element hat sich geändert. | Ja, wenn das Element nicht an übergeben wurde Rückruffunktion |
Entfernen Sie das Element aus dem Array. | Nein, es sei denn, das Element wurde an die Rückruffunktion übergeben , quadrieren Sie den Wert jedes Elements im Array, multiplizieren Sie ihn mit dem PI-Wert, berechnen Sie die Fläche des zurückgegebenen Kreiswerts als Elementwert des neuen Arrays und geben Sie schließlich dieses neue Array zurück. |
Beispiel 2
Das folgende Beispiel verwendet die Methode map(), um ein Array abzubilden, den Wert jedes Elements im Array durch einen Schwellenwert zu dividieren und dann dieses neue Array zurückzugeben Der Schwellenwert basiert beide auf den Eigenschaften des Objekts Exists. Diese Methode zeigt, wie der Parameter thisArg in der Karte verwendet wird.
var obj = { val : 10, f : function (value) { return value % this.val; } } var a = [6,12,25,30]; var a1 = a.map(obj.f, obj); console.log(a1); //6,2,5,0
Beispiel 3
Das folgende Beispiel zeigt, wie integrierte JavaScript-Methoden als Rückruffunktionen verwendet werden.
var a = [9, 16]; var a1 = a.map(Math.sqrt); console.log(a1); //3,4
Beispiel 4
Das folgende Beispiel zeigt, wie die Map-Methode zur Anwendung auf ein Klassenarray verwendet wird. Im Beispiel wird Map über die dynamische Aufrufmethode (Call) auf eine Zeichenfolge angewendet. Anschließend durchläuft Map jedes Zeichen in der Zeichenfolge und ruft die Rückruffunktion threeChars auf, um die drei Zeichen links und rechts von jedem Zeichen abzufangen und zuzuordnen to in einem neuen Array.
function f (value, index, str) { return str.substring(index - 1, index + 2); } var s = "Thursday"; var a = [].map.call(s, f); console.log(a); //Th,Thu,hur,urs,rsd,sda,day,ay
【Verwandte Empfehlungen: Javascript-Lerntutorial
】Das obige ist der detaillierte Inhalt vonWozu dient die Map()-Methode von Arrays in Ecmascript 5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!