Der einzige Unterschied, den ich in map und foreach sehe, besteht darin, dass mapein Array zurückgegeben wird und forEachnicht. Ich verstehe jedoch nicht einmal die letzte Zeile der forEachMethode " 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 iBezugnahme auf den aktuellen Wert in der Schleife?
In einem anderen Beitrag ist mir aufgefallen, dass jemand sagte: "Verwenden forEachSie 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.
mapund getan habenforEach? Alles, was ich von Google bekomme, sind Nutzungsspezifikationen und Tutorials.