Der folgende Editor bietet Ihnen eine Empfehlung für die Methoden forEach, $.each und Map in JS. Der Herausgeber findet es ziemlich gut, deshalb möchte ich es jetzt mit Ihnen teilen und es als Referenz für alle zur Verfügung stellen. Folgen wir dem Editor und werfen wir einen Blick darauf.
forEach ist die grundlegendste der neuen Array-Methoden in ECMA5, nämlich Traversal und Looping. Beispielsweise entspricht das folgende Beispiel:
[1, 2,3, 4].forEach(alert);
der folgenden for-Schleife
var array = [1, 2, 3, 4];
for (var k = 0, length = array.length; k < length; k++) {
warning(array[k]) ;
}
Array In den neuen Methoden von ES5 sind die Parameter alle Funktionstypen, und Parameter werden standardmäßig übergeben. Der Funktionsrückruf in der forEach-Methode unterstützt 3 Parameter, der erste ist der durchquerte Array-Inhalt, der zweite ist der entsprechende Array-Index und der dritte ist das Array selbst.
Also haben wir:
[].forEach(function(value, index, array) {
// ...
}) ;
Vergleichen Sie die $.each-Methode in jQuery:
$.each([], function(index, value, array) {
// ...
});
Sie finden dass der erste und der zweite Parameter genau entgegengesetzt sind. Bitte achten Sie darauf und erinnern Sie sich nicht falsch. Das Gleiche gilt später auch für ähnliche Methoden, etwa $.map.
var data=[1,3,4] ;
var sum=0 ;
data.forEach(function(val ,index,arr){
console.log(arr[index]==val); // ==> true
sum+=val
})
console.log(sum); // ==> 8
Die Karte hier ist keine „map“ bedeutet „kartieren“. [].map(); Die grundlegende Verwendung ähnelt der forEach-Methode:
array.map(callback,[ thisObject]);
Die Parameter von Callback sind ebenfalls ähnlich :
[].map(function(value, index, array) {
// ...
});
Die Rolle der Map-Methode ist nicht schwer zu verstehen. Es handelt sich um eine „Zuordnung“, das heißt, das ursprüngliche Array wird in das entsprechende neue „abgebildet“. Array. Im folgenden Beispiel wird ein numerisches Element quadriert:
var data=[1,3,4]
var Squares= data .map(function(val,index,arr){
console.log(arr[index]==val); // ==> true
return val*val
})
console.log(Squares); // ==> > Hinweis: Da forEach und map die neuen Array-Methoden von ECMA5 sind, unterstützen Browser unter IE9 dies noch nicht (dieser verdammte IE). Alle oben genannten Funktionen können jedoch durch Erweitern des Array-Prototyps erreicht werden, z. B. durch die forEach-Methode:
if (typeof Array.prototype.forEach != "function") { Array.prototype.forEach = function() { /* Implementierung*/
};
}
Das obige ist der detaillierte Inhalt vonEinführung in die Methoden forEach, $.each und Map in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!