Der einzige Unterschied, den ich in map und foreach sehe, besteht darin, dass map
ein Array zurückgegeben wird und forEach
nicht. Ich verstehe jedoch nicht einmal die letzte Zeile der forEach
Methode " func.call(scope, this[i], i, this);
". Zum Beispiel ist nicht „ this
“ und „ scope
“ bezieht sich auf denselben Gegenstand und ist nicht this[i]
und unter i
Bezugnahme auf den aktuellen Wert in der Schleife?
In einem anderen Beitrag ist mir aufgefallen, dass jemand sagte: "Verwenden forEach
Sie diese Option, wenn Sie auf der Grundlage der einzelnen Elemente der Liste etwas tun möchten. Möglicherweise fügen Sie der Seite beispielsweise Dinge hinzu. Im Wesentlichen ist dies ideal, wenn Sie" Nebenwirkungen "wünschen. Ich weiß nicht, was unter Nebenwirkungen zu verstehen ist.
Array.prototype.map = function(fnc) {
var a = new Array(this.length);
for (var i = 0; i < this.length; i++) {
a[i] = fnc(this[i]);
}
return a;
}
Array.prototype.forEach = function(func, scope) {
scope = scope || this;
for (var i = 0, l = this.length; i < l; i++) {
func.call(scope, this[i], i, this);
}
}
Gibt es schließlich echte Verwendungsmöglichkeiten für diese Methoden in Javascript (da wir keine Datenbank aktualisieren), außer um Zahlen wie diese zu manipulieren:
alert([1,2,3,4].map(function(x){ return x + 1})); //this is the only example I ever see of map in javascript.
Vielen Dank für jede Antwort.
map
und getan habenforEach
? Alles, was ich von Google bekomme, sind Nutzungsspezifikationen und Tutorials.