Lección 18: Arrays (Arreglos)
🧠 Concepto
Section titled “🧠 Concepto”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).
Crear arrays
Section titled “Crear arrays”Usando corchetes [] (recomendado):
let frutas = ['manzana', 'pera', 'uva'];let numeros = [1, 2, 3, 4, 5];let mixto = ['texto', 42, true, null]; // arrays heterogéneoslet vacio = []; // array vacíoUsando new Array() (no recomendado):
let otro = new Array(1, 2, 3); // ["manzana", "pera"]let peligro = new Array(5); // crea array de 5 espacios vacíosAcceder por índice [ ]
Section titled “Acceder por índice [ ]”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)Propiedad .length
Section titled “Propiedad .length”length nos dice cuántos elementos tiene el array.
let numeros = [10, 20, 30, 40];console.log(numeros.length); // 4console.log(numeros[numeros.length - 1]); // 40 (último elemento)Mutabilidad
Section titled “Mutabilidad”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']Arrays heterogéneos
Section titled “Arrays heterogéneos”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]); // 1Comprobar si es un array
Section titled “Comprobar si es un array”console.log(Array.isArray([1, 2, 3])); // trueconsole.log(Array.isArray('Hola')); // false💻 Ejemplo
Section titled “💻 Ejemplo”// Lista de estudianteslet 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 elementoestudiantes[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 arrayconsole.log('¿Es array?', Array.isArray(estudiantes));
// Array heterogéneolet persona = ['Luis', 30, true, ['español', 'inglés']];console.log(`${persona[0]} tiene ${persona[1]} años`);console.log(`Idiomas: ${persona[3].join(' y ')}`);📝 Ejercicio
Section titled “📝 Ejercicio”- Crea un archivo
arrays.js. - Crea un array con 5 números de tu elección.
- Imprime el primer, tercer y último elemento.
- Cambia el valor del segundo elemento.
- Imprime la longitud del array.
- Verifica si es un array con
Array.isArray(). - 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);⚠️ Nota
Section titled “⚠️ Nota”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íasPara 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]; // 50O usando el método .at() (ES2022):
console.log(arr.at(-1)); // 50