Skip to content

Lección 18: Arrays (Arreglos)

Un array (arreglo o lista) es una estructura de datos que almacena múltiples valores en una sola variable. Piensa en un array como una lista ordenada de elementos, donde cada elemento tiene una posición (índice).

Usando corchetes [] (recomendado):

let frutas = ['manzana', 'pera', 'uva'];
let numeros = [1, 2, 3, 4, 5];
let mixto = ['texto', 42, true, null]; // arrays heterogéneos
let vacio = []; // array vacío

Usando new Array() (no recomendado):

let otro = new Array(1, 2, 3); // ["manzana", "pera"]
let peligro = new Array(5); // crea array de 5 espacios vacíos

Los índices empiezan en 0 (primer elemento).

let colores = ['rojo', 'verde', 'azul'];
console.log(colores[0]); // "rojo"
console.log(colores[1]); // "verde"
console.log(colores[2]); // "azul"
console.log(colores[3]); // undefined (no existe)

length nos dice cuántos elementos tiene el array.

let numeros = [10, 20, 30, 40];
console.log(numeros.length); // 4
console.log(numeros[numeros.length - 1]); // 40 (último elemento)

A diferencia de los strings, los arrays son mutables: podemos cambiar sus elementos.

let letras = ['a', 'b', 'c'];
letras[1] = 'z';
console.log(letras); // ['a', 'z', 'c']

JavaScript permite mezclar tipos en un mismo array:

let datos = ['Ana', 28, true, { ciudad: 'Lima' }, [1, 2, 3]];
console.log(datos[3].ciudad); // "Lima"
console.log(datos[4][0]); // 1
console.log(Array.isArray([1, 2, 3])); // true
console.log(Array.isArray('Hola')); // false
// Lista de estudiantes
let estudiantes = ['Ana', 'Carlos', 'María', 'Pedro'];
console.log('Estudiantes:', estudiantes);
console.log('Cantidad:', estudiantes.length);
console.log('Primero:', estudiantes[0]);
console.log('Último:', estudiantes[estudiantes.length - 1]);
// Modificar un elemento
estudiantes[1] = 'Carlos Alberto';
console.log('Actualizado:', estudiantes);
// Añadir al final (lo veremos en detalle en la próxima lección)
estudiantes.push('Sofía');
console.log('Con nueva estudiante:', estudiantes);
// Verificar si es array
console.log('¿Es array?', Array.isArray(estudiantes));
// Array heterogéneo
let persona = ['Luis', 30, true, ['español', 'inglés']];
console.log(`${persona[0]} tiene ${persona[1]} años`);
console.log(`Idiomas: ${persona[3].join(' y ')}`);
  1. Crea un archivo arrays.js.
  2. Crea un array con 5 números de tu elección.
  3. Imprime el primer, tercer y último elemento.
  4. Cambia el valor del segundo elemento.
  5. Imprime la longitud del array.
  6. Verifica si es un array con Array.isArray().
  7. Crea un array que contenga un string, un número, un booleano y otro array.
let numeros = [10, 20, 30, 40, 50];
console.log('Primero:', numeros[0]);
console.log('Tercero:', numeros[2]);
console.log('Último:', numeros[numeros.length - 1]);
numeros[1] = 25;
console.log('Array modificado:', numeros);
console.log('Longitud:', numeros.length);
console.log('¿Es array?', Array.isArray(numeros));
let mezclado = ['Hola', 42, true, [1, 2, 3]];
console.log('Array mixto:', mezclado);

Usar new Array(5) con un solo argumento numérico crea un array con esa cantidad de espacios vacíos, no un array con el número 5. Es una fuente común de confusión.

let a = new Array(5); // [ <5 empty items> ]
let b = [5]; // [5] ← esto es lo que probablemente querías

Para acceder al último elemento de un array sin saber su longitud exacta:

let arr = [10, 20, 30, 40, 50];
let ultimo = arr[arr.length - 1]; // 50

O usando el método .at() (ES2022):

console.log(arr.at(-1)); // 50