¿Cuál es la forma más rápida de recorrer una matriz en JavaScript?
Aprendí de los libros que debes escribir un bucle for como este:
for(var i=0, len=arr.length; i < len; i++){
// blah blah
}
por lo que arr.length
no se calculará cada vez.
Otros dicen que el compilador optimizará esto, por lo que puedes simplemente escribir:
for(var i=0; i < arr.length; i++){
// blah blah
}
Solo quiero saber cuál es la mejor manera en la práctica.
Después de realizar esta prueba con la mayoría de los navegadores modernos: https://jsben.ch/wY5fo
Actualmente , la forma de bucle más rápida (y en mi opinión la más obvia sintácticamente).
Un bucle for estándar con almacenamiento en caché de longitud
var i = 0, len = myArray.length;
while (i < len) {
// your code
i++
}
Yo diría que este es definitivamente un caso en el que aplaudo a los desarrolladores de motores JavaScript. Un tiempo de ejecución debe optimizarse para lograr claridad, no inteligencia .
La forma más rápida de recorrer una matriz de JavaScript es:
var len = arr.length;
while (len--) {
// blah blah
}
Vea esta publicación para una comparación completa