Arreglos
Un arreglo guarda muchos valores en orden bajo un solo nombre. En ["red", "green", "blue"], "red" está en el índice 0 y la longitud es 3.
Una lista en una variable
Supón que un programa lleva las calificaciones de toda una clase. Treinta variables llamadas score1, score2, score3 serían un martirio para trabajar, e imposibles de recorrer con un bucle. Un arreglo es un solo valor que contiene una lista ordenada de otros valores. Se escribe con corchetes y comas:
const fruits = ["apple", "banana", "cherry"];
console.log(fruits.length); // muestra 3
console.log(fruits[0]); // muestra apple
console.log(fruits[2]); // muestra cherryCada valor de un arreglo es un elemento. Los elementos se numeran por índice, empezando en 0, igual que los caracteres de una cadena. Así, el primer elemento es fruits[0] y el último es fruits[fruits.length - 1]. Pedir un índice que no existe, como fruits[10], no causa un error; da undefined. Un arreglo puede contener cualquier tipo de valor, y los elementos ni siquiera tienen que ser del mismo tipo, aunque en la práctica suelen serlo.
Cambiar un arreglo
A diferencia de las cadenas, los arreglos se pueden cambiar en su lugar. Asigna a un índice para reemplazar un elemento: fruits[1] = "blueberry". El método push agrega un elemento al final y pop quita el último y lo devuelve. unshift y shift hacen lo mismo al principio. Esto funciona incluso cuando el arreglo se declaró con const. const solo impide que el nombre apunte a otro arreglo; no congela el contenido.
const list = ["milk", "eggs"];
list.push("bread");
console.log(list.length); // muestra 3
const last = list.pop();
console.log(last); // muestra bread
console.log(list.join(", ")); // muestra milk, eggsOtros dos métodos responden preguntas. includes(x) da true si x está en el arreglo, e indexOf(x) da su índice, o -1 si no está. join(", ") pega todos los elementos en una sola cadena con el separador indicado entre ellos, que es la forma más fácil de imprimir una lista ordenadamente.
Recorrer un arreglo con un bucle
Los arreglos y los bucles van juntos. Un bucle for con un índice desde 0 hasta la longitud, sin incluirla, visita cada elemento. El bucle for...of es más corto cuando solo necesitas los valores, no sus posiciones:
const scores = [70, 85, 90, 55];
for (let i = 0; i < scores.length; i++) {
console.log(i, scores[i]);
}
let total = 0;
for (const s of scores) {
total += s;
}
console.log(total / scores.length); // muestra 75Fíjate en la condición i < scores.length, con < y no con <=. Con cuatro elementos los índices van de 0 a 3, y usar <= leería un paso más allá del final. Este error de uno de más es uno de los fallos más comunes de toda la programación.
Dos nombres, un arreglo
Los números y las cadenas se copian cuando los asignas a otra variable, pero los arreglos no. Después de const a = [1, 2]; const b = a;, los dos nombres apuntan al mismo arreglo, así que b.push(3) también cambia lo que ves a través de a: a.length ahora es 3. Si necesitas una copia aparte, escribe const b = [...a];, que esparce los elementos de a en un arreglo completamente nuevo. Los objetos, que se tratan en la unidad siguiente, se comportan igual.
Ejemplo resuelto. Encuentra el número más grande de [4, 17, 9, 12] sin Math.max. Empieza con let best = nums[0], recorre el resto y, cada vez que un elemento sea mayor que best, guárdalo en best. Después del bucle, best vale 17. La misma forma, una variable que recuerda el mejor hasta ahora, sirve para encontrar la palabra más larga, el precio más barato o la fecha más temprana.
| arreglo | Una lista ordenada de valores entre [ ] |
| elemento | Un valor dentro de un arreglo |
| arr[0] | El primer elemento |
| arr[arr.length - 1] | El último elemento |
| push / pop | Agregar al final / quitar del final |
| includes | true si el valor está en el arreglo |
| join | Pega los elementos en una sola cadena |
| for...of | Recorrer los valores de un arreglo |
| error de uno de más (off-by-one) | Pasarse o quedarse corto por un paso, a menudo por usar <= en lugar de < |
- ¿Qué imprime esto?
const a = [10, 20, 30]; console.log(a[1]); - ¿Qué imprime esto?
const a = [10, 20, 30]; console.log(a.length); - ¿Qué imprime esto?
const a = ["x", "y", "z"]; console.log(a[a.length - 1]); - ¿Qué imprime esto?
const a = [1, 2]; a.push(3); a.push(4); console.log(a.length); - ¿Qué imprime esto?
const a = [5, 6, 7]; const x = a.pop(); console.log(x, a.length);- 7 2
- 5 2
- 7 3
- ¿Qué imprime esto?
const a = ["cat", "dog"]; console.log(a.indexOf("bird")); - ¿Qué imprime esto?
const a = ["a", "b", "c"]; console.log(a.join("-")); - ¿Qué imprime esto?
const a = [3, 4, 5]; let t = 0; for (const n of a) { t += n; } console.log(t); - ¿Qué imprime esto?
const a = [1, 2, 3]; a[0] = 9; console.log(a[0] + a[2]); - ¿Qué imprime esto?
const a = ["red", "green"]; console.log(typeof a[5]);- undefined
- Un error
- string
- ¿Qué cabecera de bucle visita cada índice de arr exactamente una vez?
for (let i = 0; i < arr.length; i++)for (let i = 0; i <= arr.length; i++)for (let i = 1; i <= arr.length; i++)
- Los arreglos guardan valores ordenados entre [ ]; los índices empiezan en 0.
- El último elemento es arr[arr.length - 1].
- push y pop agregan y quitan al final; el contenido de un arreglo const igual puede cambiar.
- includes, indexOf y join responden preguntas comunes.
- Recorre con i desde 0 mientras i < length, o usa for...of para los valores.
Fuentes de este curso (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Fecha de consulta: 2026-10-17