Bucles anidados con arreglos 2D
Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 8 de 65.
Al trabajar con arreglos bidimensionales, a menudo utilizamos bucles anidados para iterar sobre cada fila y cada columna, lo que nos permite acceder o modificar cada elemento del arreglo.
Aquí tienes una estructura típica de bucles anidados para un array bidimensional:
const seats = [
[true, true, false],
[true, false, true]
];
for (let r = 0; r < seats.length; r++) {
// El bucle externo itera sobre las filas
for (let c = 0; c < seats[r].length; c++) {
// El bucle interno itera sobre las columnas
// se puede acceder a seats[r][c] aquí
}
}El bucle externo itera sobre las filas, y el bucle interno itera sobre las columnas de cada fila. De esta manera, puedes acceder a cada elemento en el array bidimensional utilizando array[r][c].
Desafío
FácilCrea una función llamada countOccurrences que recibe un array bidimensional de cadenas matrix y una cadena target. Debe devolver cuántas veces target aparece en todas las filas y columnas.
Hoja de referencia
Usa bucles anidados para iterar sobre arreglos bidimensionales: el bucle externo para las filas y el bucle interno para las columnas:
const seats = [
[true, true, false],
[true, false, true]
];
for (let r = 0; r < seats.length; r++) {
// El bucle externo itera sobre las filas
for (let c = 0; c < seats[r].length; c++) {
// El bucle interno itera sobre las columnas
// Accede al elemento con seats[r][c]
}
}Pruébalo tú mismo
function countOccurrences(matrix, target) {
// TODO: Implementar la lógica para contar cuántas veces aparece 'target' en la matriz
}
// No escribir nada fuera de la funciónEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Strings en profundidad
Fundamentos de stringsIterar sobre stringsTemplate LiteralsMétodos de stringsResumen - String Weaver4JSON Parte 2
Iterar sobre JSONJSON anidadoEncadenamiento opcional en JSONCopia superficial y profundaResumen - Tienda de bicicletasResumen - Sistema solar7Sistema de Gestión de Biblioteca
Descripción general del proyectoAñadir libros10Gestionar el sistema del festival
Descripción general del proyectoAñadir películas y sedes2Arreglos multidimensionales
Conceptos básicos de arreglos 2DAcceso a elementos de arreglos 2DBucles anidados con arreglos 2DResumen - Arreglos 2DSuma y resta de matricesArreglos irregulares (Jagged Arrays)Arreglos 3D y más alláPatrones comunes en arreglos 2DResumen - Todo sobre arreglos5Conjuntos Parte 1
¿Qué es un conjunto?Iterar sobre conjuntosAñadir un elementoEliminar un elementoComprobar si un elemento existeTamaño y Is EmptyCopy y ClearResumen - Conceptos básicos de conjuntos8Temas interesantes de Arrays
Desestructuración de ArraysSintaxis Spread en ArraysArrays dispersosResumen - Taller de Arrays3JSON Parte 1
¿Qué es un JSON?Comprobar si existe una claveMétodos de objetoEl Spread Operator Parte 1El Spread Operator Parte 2Eliminar clavesResumen - Manipular claves de JSON