DEV Community

loading...

Array.foreach vs for() 😰

amatosg profile image Alejandro ・1 min read

La verdad es que siempre pensé que eran homónimos, no pensé que podría haber tanta diferencia entre una función y otra.

Pues resulta que realizar un foreach implica que la ejecución va a tardar nada más ni nada menos que un 96% más(!!!) que un for 😳 y para ejemplo un botón:

Benchmark.prototype.setup = function() {
    // Populate the base array
    var arr = [];

    for (var i = 0; i < 1000; i++) {
        arr[i] = i; 
    }

    function someFn(i) {
        return i * 3 * 8;
    }        
};

Enter fullscreen mode Exit fullscreen mode

Al ejecutar esto, tenemos lo siguiente (puedes probar aquí):

alt text

Obviamente esto se puede notar cuando estamos trabajando con miles de registros, pero es mejor implementar buenas prácticas desde un principio 😌

Con esta evidencia, definitivamente quedo prohibido de utilizar foreach en cualquier desarrollo que haga en Angular en favor al simple y querido for de toda la vida ❤

Por cierto, eso no aplica a TypeScript ya que el foreach se compila al for que nos gusta 😬

Discussion (0)

pic
Editor guide