que tienen una matriz dispersa (índices no son consecutivos) como esto:Javascript iteración a través de matriz dispersa
var testArray = { 0: "value1", 5: "value2", 10: "value3", 15: "value4" };
Quisiera simplemente para recorrer cada elemento, hacer algunas cosas, y ser capaz de romperse bajo una cierta condición.
Soy bastante nuevo en Javascript y no he encontrado una forma adecuada de hacerlo. Esto es lo que probé:
Built-in "for..in". Parece que esto es not the correct way to iterate through an array
forEach de ECMASCRIPT5. Éste itera correctamente, pero no puedo romper el ciclo.
_.each() de Underscore.js. Mismo resultado que el # 2.
$.each() de JQuery. Con este puedo romper devolviendo falso, pero no se repetirá correctamente. Para el ejemplo anterior, en lugar de iterar en 0, 5, 10, 15, se repetirá en 0,1,2,3,4,5,6 ... que obviamente no es lo que espero.
Así que mi pregunta es: ¿Hay una manera fácil de repetir una matriz escasa, con la posibilidad de romper durante el bucle en Javascript o sería mejor utilizar otra estructura de datos como una tabla hash? Si es así, ¿alguna recomendación?
Gracias!
Si mira a través del enlace que proporcionó en el punto n. ° 1, el bucle for..in integrado ES la forma de recorrer las propiedades de un objeto, que es lo que tiene – anson
Por lo que entendí del enlace fue que un problema podría ocurrir si una biblioteca agrega un miembro al Array.prototype. Entonces el miembro será parte del ciclo "for..in". – Absolom
Ah, vale, mi ejemplo no era válido porque estaba usando un objeto y no una matriz. Entonces tu comentario es correcto. – Absolom