dado un cero simple basada, arreglo indexado numéricamente:¿Por qué 'para (var item in list)' con arrays se considera una mala práctica en JavaScript?
var list = ['Foo', 'Bar', 'Baz'];
Muchas veces, he notado que cuando alguien sugiere bucle a través de las variables en una matriz de esta manera:
for(var item in list) { ... }
... No hay casi ciertamente alguien que sugiere que eso es una mala práctica y sugiere un enfoque alternativo:
var count = list.length;
for(var i = 0; i < count; i++) {
var item = list[i];
...
}
¿Cuál es el razonamiento para no usar la versión más simple de arriba y usar el segundo ejemplo en su lugar?
Usted no está en bucle a través de los elementos, con ese bucle, que está bucle sobre las teclas/nombres de propiedades/Indizes. – Bergi
También codificadores C en tophats victorianos que no comprenden los iteradores. Sin embargo, tenga en cuenta que está escupiendo claves, no valores. El formato for (;;) es más rápido, pero el 99% de las veces, realmente no importa. El tiempo de codificación es más caro que el tiempo de cálculo a menos que trabaje en megaproyectos o cosas con una necesidad genuina de optimización. – Shayne