Chuleta de métodos de arrays de JavaScript
Los métodos de arrays de JavaScript que más usas, con qué devuelve cada uno y — crucialmente — si muta el array original o devuelve uno nuevo. Acertar con esa columna evita toda una clase de errores: métodos como map y filter son seguros porque dejan intacto el original, mientras que sort, reverse y splice lo cambian en el sitio.
Actualizado 2026-07-06
| Método | Qué hace | Devuelve | Muta |
|---|---|---|---|
| map() | Transformar cada elemento | Nuevo array | No |
| filter() | Conservar los elementos que pasan una prueba | Nuevo array | No |
| reduce() | Reducir el array a un solo valor | Cualquier valor | No |
| forEach() | Ejecutar una función por cada elemento | undefined | No |
| find() | Primer elemento que pasa una prueba | Elemento / undefined | No |
| findIndex() | Índice de la primera coincidencia | Índice / -1 | No |
| some() | true si al menos uno pasa | Booleano | No |
| every() | true si todos pasan | Booleano | No |
| includes() | Si un valor está presente | Booleano | No |
| indexOf() | Índice de un valor | Índice / -1 | No |
| slice() | Copiar una porción del array | Nuevo array | No |
| concat() | Fusionar arrays en uno nuevo | Nuevo array | No |
| join() | Combinar elementos en una cadena | Cadena | No |
| flat() | Aplanar arrays anidados | Nuevo array | No |
| flatMap() | map() y luego aplanar un nivel | Nuevo array | No |
| at() | Elemento por índice (admite negativos) | Elemento | No |
| push() | Añadir uno o más elementos al final | Nueva longitud | Sí |
| pop() | Eliminar el último elemento | Elemento eliminado | Sí |
| shift() | Eliminar el primer elemento | Elemento eliminado | Sí |
| unshift() | Añadir elementos al inicio | Nueva longitud | Sí |
| splice() | Añadir/eliminar elementos en cualquier índice | Elementos eliminados | Sí |
| sort() | Ordenar el array en el sitio | El array | Sí |
| reverse() | Invertir el array en el sitio | El array | Sí |
| fill() | Rellenar con un valor estático | El array | Sí |
| Array.from() | Crear un array a partir de un iterable | Nuevo array | No |
| Array.isArray() | Comprobar si un valor es un array | Booleano | No |
Consejo: cuando necesites una copia ordenada sin tocar el original, extiende primero — [...arr].sort(). El JavaScript moderno también añade gemelos no mutantes (toSorted, toReversed, toSpliced, with) que devuelven un array nuevo.