Un array es una lista ordenada de valores y JavaScript incluye métodos para añadir, quitar, buscar y transformar sus elementos. Algunos modifican el array original (mutan) y otros devuelven uno nuevo. Distinguirlos evita muchos errores.
Añadir y quitar elementos (modifican el array)
const frutas = ['pera', 'uva'];
frutas.push('mango'); // añade al final
console.log(frutas); // ['pera', 'uva', 'mango']
frutas.pop(); // quita el último
frutas.unshift('kiwi'); // añade al principio
frutas.shift(); // quita el primero
console.log(frutas); // ['pera', 'uva']Buscar elementos
const numeros = [4, 8, 15, 16];
console.log(numeros.includes(15)); // true
console.log(numeros.indexOf(16)); // 3 (-1 si no existe)
console.log(numeros.find(n => n > 5)); // 8 (primer elemento que cumple)
console.log(numeros.findIndex(n => n > 5)); // 1
console.log(numeros.some(n => n > 15)); // true
console.log(numeros.every(n => n > 3)); // truefind devuelve undefined si ningún elemento cumple la condición.
Obtener copias o partes (no modifican)
const letras = ['a', 'b', 'c', 'd'];
console.log(letras.slice(1, 3)); // ['b', 'c'] (el final no se incluye)
console.log(letras.concat(['e'])); // ['a', 'b', 'c', 'd', 'e']
console.log([...letras, 'e']); // igual, con spread
console.log(letras); // ['a', 'b', 'c', 'd'] (sin cambios)Insertar o borrar en cualquier posición
splice modifica el array: elimina y/o inserta desde una posición.
const cola = ['A', 'B', 'C', 'D'];
cola.splice(1, 2); // borra 2 elementos desde la posición 1
console.log(cola); // ['A', 'D']
cola.splice(1, 0, 'X'); // inserta 'X' sin borrar nada
console.log(cola); // ['A', 'X', 'D']Transformar: map, filter y reduce
Estos tres devuelven resultados nuevos y no cambian el array original.
const precios = [10, 25, 40];
const conIva = precios.map(p => p * 1.21);
console.log(conIva); // [12.1, 30.25, 48.4]
const baratos = precios.filter(p => p < 30);
console.log(baratos); // [10, 25]
const total = precios.reduce((suma, p) => suma + p, 0);
console.log(total); // 75mapcrea un array del mismo tamaño con cada elemento transformado.filterconserva solo los elementos que cumplen una condición.reducecombina todos los elementos en un único resultado.
Ordenar: cuidado con sort
sort modifica el array y, sin función de comparación, ordena como si fueran texto:
const valores = [10, 2, 33, 4];
console.log([...valores].sort()); // [10, 2, 33, 4] (orden alfabético)
console.log([...valores].sort((a, b) => a - b)); // [2, 4, 10, 33]Copia el array con [...valores] si no quieres alterar el original.
Convertir a texto y recorrer
const palabras = ['Hola', 'mundo'];
console.log(palabras.join(' ')); // 'Hola mundo'
palabras.forEach(p => console.log(p));
for (const p of palabras) console.log(p);Resumen rápido
| Necesito... | Método |
|---|---|
| Añadir al final | push |
| Saber si existe un valor | includes |
| El primer elemento que cumple | find |
| Una lista filtrada | filter |
| Transformar cada elemento | map |
| Un único valor (suma, máximo...) | reduce |
| Una parte sin modificar | slice |
Última actualización: . Los ejemplos se han comprobado en un navegador actual y en Node.js.