La única diferencia que veo en map y foreach es que mapdevuelve una matriz y forEachno. Sin embargo, ni siquiera entiendo la última línea del forEachmétodo " func.call(scope, this[i], i, this);". Por ejemplo, no es " this" y " scope", en referencia al mismo objeto y no es this[i], y ien referencia al valor de la corriente en el circuito?
Noté en otra publicación que alguien decía "Úselo forEachcuando quiera hacer algo basándose en cada elemento de la lista. Puede que esté agregando cosas a la página, por ejemplo. Esencialmente, es ideal para cuando quiere" efectos secundarios ". No sé qué se entiende por efectos secundarios.
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);
}
}
Finalmente, ¿hay algún uso real para estos métodos en javascript (ya que no estamos actualizando una base de datos) además de manipular números como este?
alert([1,2,3,4].map(function(x){ return x + 1})); //this is the only example I ever see of map in javascript.
Gracias por cualquier respuesta.
mapyforEach? Todo lo que obtengo de Google son especificaciones de uso y tutoriales.