La única diferencia que veo en map y foreach es que map
devuelve una matriz y forEach
no. Sin embargo, ni siquiera entiendo la última línea del forEach
mé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 i
en referencia al valor de la corriente en el circuito?
Noté en otra publicación que alguien decía "Úselo forEach
cuando 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.
map
yforEach
? Todo lo que obtengo de Google son especificaciones de uso y tutoriales.