■ Recorrido del arreglo
Solo se necesita un for que pase por todas las posiciones del arreglo, por ejemplo:
var numeros = [1, 2, 3, 4, 5]
for (var i=0; i < numeros.length; i++) {
console.log(numeros[i])
}
■ Recorrido de la matriz
Para recorrer una matriz se necesitan dos ciclos for, uno que recorra los elementos de la matriz, es decir, los arreglos almacenados en ella; y otro que por cada uno de ellos recorra sus elementos internos, esto es así:
for (var i=0; i < matriz.length; i++) {
for (var j=0; j < matriz[i].length; j++) {
console.log(matriz[i][j])
}
}
Donde el primer for va recorrer los arreglos internos, y el segundo for recorrerá los elementos de cada arreglo.
La condición del primer for "i < matriz.length" le indica el tamaño de la matriz, es decir, el número de elementos que tiene, o sea, los arreglos internos.
La condición del segundo for "j < matriz[i].length", se refiere al tamaño del arreglo interno de la posición "i" de la matriz, por lo que aunque tengan diferentes tamaños con "length" siempre sabremos su longitud.
Y en el console.log las posiciones i y j se refieren a las filas (arreglos) y columnas (cada elemento del arreglo), algo así:
console.log(matriz[arreglo][elemento])
Sabiendo lo anterior y teniendo la siguiente matriz:
var matriz = [
[1, 2, 3],
["amarillo", "azul", "rojo"],
[true, false],
[1, "azul", false, 3.14]
[1, 2, 3],
["amarillo", "azul", "rojo"],
[true, false],
[1, "azul", false, 3.14]
}
Si lo que quiero es solo imprimir los arreglos internos, lo haría así:
for (var i=0; i < matriz.length; i++) {
for (var j=0; j < matriz[i].length; j++) {
console.log(matriz[i]) // Solo le indico la posición del arreglo
}
}
Esto imprimirá:
[1, 2, 3]
["amarillo", "azul", "rojo"]
[true, false]
[1, "azul", false, 3.14]
["amarillo", "azul", "rojo"]
[true, false]
[1, "azul", false, 3.14]
Y si lo que quiero es imprimir cada elemento de cada arreglo, sería así:
for (var i=0; i < matriz.length; i++) {
for (var j=0; j < matriz[i].length; j++) {
console.log(matriz[i][j]) // Se indica posición del arreglo y elemento
}
}
Esto imprimirá:
1
2
3
amarillo
azul
rojo
true
true
false
1
1
azul
false
3.14
No hay comentarios:
Publicar un comentario