Heim  >  Artikel  >  Web-Frontend  >  Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

青灯夜游
青灯夜游Original
2021-12-07 14:15:291579Durchsuche

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)“ .

Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

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:

  • currentValue ist erforderlich. Der Wert des aktuellen Elements

  • index ist optional. Der Indexwert des aktuellen Elements

  • arr Optional. Das Array-Objekt, zu dem das aktuelle Element gehört

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.

function f (radius) {
    var area = Math.PI * (radius * radius);
    return area.toFixed(0);
}
var a = [10,20,30];
var a1 = a.map(f);
console.log(a1);
Die Auswirkung der Änderung des Arrays durch die Callback-Funktion
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

Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

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

Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

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

Wozu dient die Map()-Methode von Arrays in Ecmascript 5?

【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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn