JS: Arrays
Teoría: Arrays anidados
Hasta ahora, has trabajado con arrays simples en JavaScript. Pero ¿sabías que un array puede contener otros arrays como elementos? A esto se le llaman arrays anidados.
Este concepto es muy útil en casos como representar una cuadrícula en un juego, almacenar datos en estructuras más complejas o incluso en cálculos matemáticos.
Crear arrays anidados
Para definir un array dentro de otro, simplemente colocamos otro array como elemento:
Aquí, arr1 es un array que contiene otro array con el número 3 dentro.
⏬ Veamos un ejemplo más grande:
Cada elemento que es un array cuenta como una sola unidad dentro del array principal.
Puedes verlo de otra manera:
No hay un límite para la cantidad de anidación: puedes tener arrays dentro de arrays, dentro de más arrays...
Acceder a elementos en arrays anidados
Acceder a los elementos en arrays anidados es parecido a los arrays normales, pero usamos varios índices:
Así funciona:
arr1[0]accede al primer (y único) elemento dearr1, que es[3].arr1[0][0]accede al primer elemento dentro de ese array, que es3.
Ahora un ejemplo con más niveles de anidación:
Aquí, cada índice adicional entra más profundo dentro del array.
Modificar y agregar elementos a arrays anidados
Modificar elementos
Aquí, reemplazamos el único elemento de arr1 con otro array diferente.
También podemos modificar valores internos:
Agregar nuevos elementos:
Podemos usar .push() para agregar al final de un array anidado:
También podemos agregar una nueva fila:
Aplicación Real: Tablero de Tres en Raya
Podemos usar arrays anidados para representar un tablero de Tres en Raya (Tic-Tac-Toe). Vamos a crear un tablero vacío y simular una jugada:
Verificando si hay un movimiento en el tablero
Ahora crearemos una función que verifique si un jugador (con el símbolo 'x' o 'o') ha realizado al menos un movimiento:
¿Cómo funciona?
- Recorremos el
field, donde cada elemento es una fila del tablero. - Usamos
.includes(symbol)para revisar si el símbolo aparece en alguna fila. - Si encontramos el símbolo, retornamos
true. - Si terminamos de revisar todas las filas y no encontramos nada, retornamos
false.
Probemos:
Resumen
- El array anidado es un array que contiene otros arrays.
- Se accede a los elementos usando
múltiples índices (arr[x][y][z]). - Se pueden modificar y agregar elementos como en cualquier array.
- El método
.includes()ayuda a verificar si un valor existe en una fila de un array anidado.