Arrays en JavaScript: listas con estructura y control
Aprende a crear, leer, recorrer y modificar arrays entendiendo índices, longitud y mutación para construir lógica de listas sin errores comunes.
Un array representa una colección ordenada de datos, y esa idea aparece en casi cualquier producto: tareas, mensajes, productos o resultados de API.
Trabajar bien con arrays no es memorizar métodos: es entender índices, tamaño, recorrido y efectos de mutación.
En esta lección vas a practicar patrones que luego usarás en DOM dinámico, filtros y transformaciones más avanzadas.
Objetivo: razonar listas con precisión y evitar errores típicos de inicio.
- Los arrays empiezan en índice 0: esta regla cambia todo el recorrido.
- El primer elemento de un array está en `arr[0]`, y la propiedad `length` indica cuántos elementos hay, no el último índice.
- Cuando accedes a un índice fuera de rango obtienes `undefined`, así que conviene validar límites al recorrer o consultar posiciones.
- Índice inicial: `0`.
- Último índice: `length - 1`.
Fundamentos: índice, orden y longitud
Los arrays empiezan en índice 0: esta regla cambia todo el recorrido.
El primer elemento de un array está en `arr[0]`, y la propiedad `length` indica cuántos elementos hay, no el último índice.
Cuando accedes a un índice fuera de rango obtienes `undefined`, así que conviene validar límites al recorrer o consultar posiciones.
- Índice inicial: `0`.
- Último índice: `length - 1`.
- `length` no devuelve el último índice.
- Índice inválido => `undefined`.
Mutación controlada con métodos básicos
`push/pop/shift/unshift` modifican el array original.
Estos métodos son muy útiles en colas, pilas y gestión básica de listas. Lo importante es saber que alteran el array sobre el que actúan.
Si en el futuro necesitas inmutabilidad, verás alternativas con spread y métodos que crean copias.
Recorrer arrays con `for` y `for...of`
Elige recorrido según necesites índice o solo valor.
`for` clásico te permite controlar índice, paso y condiciones de parada con precisión.
`for...of` simplifica lectura cuando solo necesitas el valor de cada elemento.
Patrones diarios con arrays
Primer/último, acumulación y búsqueda básica son patrones transversales.
Estas operaciones aparecen constantemente en features reales: mostrar primero/último, contar elementos, sumar importes o verificar existencia.
Dominar estos patrones te deja preparado para `map`, `filter` y `reduce` en el siguiente nivel.
- Primer elemento: `arr[0]`.
- Último: `arr[arr.length - 1]` o `arr.at(-1)`.
- Suma acumulada: `let total = 0` + bucle.
- Existencia: `includes` / posición: `indexOf`.
Higiene de arrays para evitar bugs
Valida límites y evita mutaciones accidentales innecesarias.
Cuando una lista viene de usuario o API, asume que puede estar vacía o incompleta. Comprueba longitud antes de acceder a índices críticos.
Durante depuración, imprimir `length`, índice y valor suele revelar el error en segundos.