Introducción: Las arrays son una de las estructuras de datos más importantes en JavaScript y dominar sus métodos es clave para escribir código limpio, eficiente y sin errores. En esta guía completa actualizada a 2025 repasamos los métodos clásicos y sus alternativas modernas ES6+ y ES2022/ES2023, junto con ejemplos y explicaciones breves. Además conoce cómo Q2BSTUDIO puede ayudarte en proyectos de aplicaciones a medida, software a medida, inteligencia artificial y ciberseguridad.
Sobre Q2BSTUDIO: Somos una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones con Power BI. Si buscas crear una aplicación robusta y escalable consulta nuestro servicio de desarrollo de aplicaciones y software a medida o explora nuestras soluciones de inteligencia artificial para empresas.
Básicos y operaciones comunes
1. push Añadir al final Old arr.push(10) New arr = [...arr,10] Añade elementos al final de la array.
2. pop Eliminar del final Old arr.pop() New Desestructuración [...rest,last] = arr Elimina y devuelve el último elemento.
3. shift Eliminar del inicio Old arr.shift() New Desestructuración [first,...rest] = arr Elimina el primer elemento y desplaza los demás.
4. unshift Añadir al inicio Old arr.unshift(5) New arr = [5,...arr] Inserta elementos al comienzo.
Búsqueda y comprobación
5. indexOf Índice de la primera ocurrencia Old arr.indexOf(3) New arr.findIndex(x => x === 3) Devuelve el índice o -1 si no existe.
6. lastIndexOf Última ocurrencia Old arr.lastIndexOf(3) New arr.findLastIndex(x => x === 3) Encuentra la última posición coincidente.
7. includes Comprobar existencia Old arr.indexOf(3) !== -1 New arr.includes(3) Comprueba si un elemento existe en la array.
8. at Acceso con índices positivos o negativos Old arr[arr.length - 1] New arr.at(-1) Accede a elementos desde el final con índices negativos (ES2022).
Iteración y transformación
9. forEach Iterar Old for let i = 0 i < arr.length i ++ console.log(arr[i]) New arr.forEach(item => console.log(item)) Recorre cada elemento sin devolver una nueva array.
10. map Transformar Old let doubled = []; for let i = 0 i < arr.length i ++ doubled.push(arr[i] * 2) New arr.map(x => x * 2) Devuelve una nueva array con los valores transformados.
11. filter Filtrar Old let even = []; for of arr if i % 2 === 0 even.push(i) New arr.filter(x => x % 2 === 0) Mantiene solo los elementos que cumplen la condición.
12. reduce Acumular Old let sum = 0 for of arr sum += i New arr.reduce((a,b) => a + b,0) Reduce la array a un único valor.
13. reduceRight Acumular desde la derecha Old reverso y reduce New arr.reduceRight((a,b) => a - b) Igual que reduce pero de derecha a izquierda.
Añadir, eliminar y copiar
14. splice Añadir o eliminar en un índice Old arr.splice(2,1,valorNuevo) New arr = [...arr.slice(0,2),valorNuevo,...arr.slice(3)] Inserta, elimina o reemplaza elementos en una posición dada.
15. slice Copiar parte de la array Old arr.slice(1,3) New [...arr].slice(1,3) Devuelve una copia superficial desde start hasta end sin incluir end.
16. concat Unir arrays Old arr.concat(arr2) New [...arr,...arr2] Fusiona varias arrays en una sola.
17. flat Aplanar arrays anidados Old arr.reduce((a,b) => a.concat(b),[]) New arr.flat() Aplana un nivel de anidamiento o más según parámetro (ES2019).
18. flatMap Map y flatten en un paso Old arr.map(fn).flat() New arr.flatMap(fn) Mapea y aplana en una sola operación.
Ordenar y revertir
19. sort Ordenar Old arr.sort() New arr.toSorted() ES2023 ofrece método inmutable toSorted que devuelve una nueva array ordenada.
20. reverse Invertir orden Old arr.reverse() New arr.toReversed() ES2023 añade versión no mutante toReversed.
Utilidades
21. join Convertir array a string Old arr.join() New [...arr].join( - ) join sin argumento usa coma por defecto; acepta separador como argumento.
22. toString Convertir a texto Old arr.toString() New String(arr) Convierte la array a su representación textual.
23. Array.from Crear array desde iterable Old [].slice.call(iterable) New Array.from(iterable) Convierte string, set u otros iterables en array (ES6).
24. Array.isArray Comprobar si es array Old obj instanceof Array New Array.isArray(obj) Forma segura de verificar arrays incluso entre iframes.
25. keys values entries Iteradores Old bucles manuales New for of arr.entries() permite obtener pares indice valor y recorrer índices y valores con iteradores.
Métodos inmutables modernos ES2023
toSorted Orden no mutante Devuelve nueva array ordenada sin modificar la original.
toReversed Reverso no mutante Devuelve una nueva array con el orden invertido.
with Copiar con reemplazo with(index,value) crea una copia con el elemento en index reemplazado por value.
Buenas prácticas: Prefiere las alternativas inmutables cuando trabajes en proyectos grandes o en entornos con concurrencia, ya que facilitan el razonamiento del estado y evitan efectos secundarios. Usa spread, map, filter y reduce para código más declarativo y seguro.
Preguntas frecuentes rápidas
Q1 Qué métodos son más usados Push pop shift unshift map filter reduce slice splice concat includes.
Q2 Diferencia entre sintaxis antigua y nueva La antigua se apoya en bucles y métodos mutantes; la moderna usa funciones de orden superior, spread, desestructuración y métodos inmutables como toSorted y with para código más predecible.
Q3 Cómo comprobar si un valor es una array Usar Array.isArray(valor).
Q4 Qué son métodos inmutables Son los métodos que devuelven nuevas arrays sin alterar la original como toSorted toReversed y with.
Q5 Por qué preferir sintaxis moderna Código más limpio, funcional e inmune a muchos errores comunes en aplicaciones complejas.
Si necesitas apoyo para integrar estos patrones en proyectos reales o desarrollar soluciones con inteligencia artificial, ciberseguridad, servicios cloud aws y azure, inteligencia de negocio o agentes IA, en Q2BSTUDIO te ayudamos desde la arquitectura hasta la entrega. Ofrecemos servicios de automatización de procesos, consultoría en power bi y desarrollo integral de software a medida para transformar tus ideas en productos escalables.
Contacto y llamada a la acción Explora nuestras soluciones y proyectos referenciales para software a medida y aplicaciones empresariales visitando la página de desarrollo de aplicaciones y software a medida o solicita una consultoría en inteligencia artificial y ia para empresas en la sección de Inteligencia Artificial.