Guía de Métodos de Array en JavaScript

Descubre la guía práctica de métodos de array en JavaScript: creación, búsqueda, iteración, ordenación y transformación. Ejemplos y buenas prácticas.

8 sept 2025 • 8 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Guía de Métodos de Array en JavaScript

Los arrays son una de las estructuras de datos más usadas en JavaScript. Ofrecen métodos integrados para crear, modificar, buscar, recorrer, ordenar, transformar y convertir datos. En Q2BSTUDIO, especialistas en software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, y servicios inteligencia de negocio, usamos estos métodos a diario para construir soluciones robustas, escalables y mantenibles.

Índice rápido: 1 Creación de arrays 2 Añadir y eliminar elementos 3 Búsqueda y localización 4 Iteración 5 Ordenación e inversión 6 Uniones y aplanado 7 Copiado y rellenado 8 Conversión 9 Consejos avanzados y buenas prácticas 10 Resumen

1 Creación de arrays

Array.of() Crea un nuevo array a partir de los argumentos. Ejemplo sencillo: aplicar Array.of a 1, 2 y 3 devuelve [1, 2, 3].

Array.from() Crea un array a partir de un iterable o de un objeto similar a array, y permite mapear durante la creación. Ejemplos prácticos: convertir la cadena hola en array produce [h, o, l, a]. Usando un mapeo durante la creación, a partir de [1, 2, 3] y multiplicando por 2, se obtiene [2, 4, 6]. Nota técnica Array.from(obj, fn) equivale a Array.from(obj).map(fn) pero evita crear un array intermedio y la función recibe solo elemento e índice.

2 Añadir y eliminar elementos

push(...items) Agrega elementos al final y devuelve la nueva longitud. Ejemplo frutas inicial [manzana] tras push de banana y cereza queda [manzana, banana, cereza].

pop() Elimina y devuelve el último elemento. Ejemplo [manzana, banana] tras pop devuelve banana y el array queda [manzana].

unshift(...items) Agrega elementos al inicio y devuelve la nueva longitud. Ejemplo [2, 3] tras unshift de 0 y 1 queda [0, 1, 2, 3].

shift() Elimina y devuelve el primer elemento. Ejemplo [1, 2, 3] tras shift devuelve 1 y queda [2, 3].

splice(inicio, cantidad, ...items) Modifica el contenido eliminando, reemplazando y/o insertando elementos.

Eliminar elementos Ejemplo frutas [manzana, banana, cereza, uva, kiwi] con splice desde índice 2 eliminando 2 produce array resultante [manzana, banana, kiwi] y elementos removidos [cereza, uva].

Añadir sin eliminar Define cantidad como 0. Ejemplo colores [rojo, verde, azul] insertando en índice 1 amarillo y morado produce [rojo, amarillo, morado, verde, azul].

Reemplazar elementos Indica cantidad mayor que 0 y los nuevos ítems. Ejemplo letras [a, b, c, d, e] reemplazando 2 desde índice 1 con x e y produce [a, x, y, d, e].

Índice negativo Puedes contar desde el final con valores negativos. Ejemplo números [10, 20, 30, 40, 50] con splice de inicio -2 eliminando 2 queda [10, 20, 30].

slice(inicio, fin) Devuelve una copia superficial de una porción sin modificar el original.

Básico Ejemplo animales [hormiga, bisonte, camello, pato, elefante] con slice de 2 a 4 da [camello, pato].

Hasta el final Si omites fin, toma desde inicio hasta el final. Ejemplo colores [rojo, verde, azul, amarillo, morado] con slice de 1 produce [verde, azul, amarillo, morado].

Índices negativos Puedes contar desde el final. Ejemplo letras [a, b, c, d, e] con slice de -2 da [d, e], con slice de -3 a -1 da [c, d].

3 Búsqueda y localización

indexOf(valor, desde) Devuelve el primer índice del elemento o -1 si no existe, usando igualdad estricta. Ejemplo frutas [manzana, banana, cereza, manzana] indexOf de manzana devuelve 0. Con números [10, 20, 30, 40, 50, 20] el primer 20 está en 1 y buscando desde 2 el siguiente 20 aparece en 5.

lastIndexOf(valor, desde) Devuelve el último índice del elemento o -1 si no existe, también con igualdad estricta. Ejemplo frutas [manzana, banana, cereza, manzana, banana] lastIndexOf de banana devuelve 4.

includes(valor, desde) Indica si el array contiene el valor. Ejemplo [manzana, banana, cereza] incluye banana retorna true y uva retorna false. Ventaja clave incluye NaN, mientras que indexOf no lo detecta. En [1, 2, NaN] includes de NaN es true e indexOf de NaN es -1.

find(callback) Devuelve el primer elemento que cumpla la condición o undefined si no existe. Ejemplo usuarios con ids 1, 2 y 3 buscando id igual a 2 devuelve el objeto correspondiente.

findIndex(callback) Devuelve el índice del primer elemento que cumpla la condición o -1 si no existe. Ejemplo usuarios buscando nombre Bob devuelve 1.

4 Iteración

forEach(callback) Ejecuta una acción por elemento sin devolver nuevo array. Útil para efectos secundarios como mostrar registros en consola o acumular en estructuras externas.

map(callback) Crea un nuevo array transformando cada elemento. Ejemplo usuarios con propiedades id y nombre mapeando a nombres produce [Alice, Bob, Charlie].

filter(callback) Crea un nuevo array con los elementos que cumplan la condición. Ejemplo usuarios con rol admin devuelve un subconjunto con los administradores.

reduce(callback, valorInicial) Reduce el array a un único valor o estructura. Ejemplo conteo de mascotas en [perro, gato, perro, pez, gato, perro] devuelve objeto { perro 3, gato 2, pez 1 }. Si no pasas valorInicial, el primer elemento se usa como acumulador y se itera desde el segundo.

some(callback) Devuelve true si al menos un elemento cumple la condición. Ejemplo comprobar si existe un usuario con rol admin.

every(callback) Devuelve true si todos los elementos cumplen la condición. Ejemplo verificar que todo el equipo tenga rol admin.

5 Ordenación e inversión

sort(compareFn) Ordena en el lugar y devuelve el array ordenado. Por defecto ordena como cadenas en orden ascendente, lo que es correcto para texto pero engañoso con números. Ejemplo numérico [10, 2, 5, 20] sin función de comparación resulta en [10, 2, 20, 5] ya que compara como texto. Para números usa una compareFn. Ascendente usa (a, b) a menos b y resulta [2, 5, 10, 20]. Descendente usa (a, b) b menos a y resulta [20, 10, 5, 2]. Para ordenar objetos por una propiedad, por ejemplo edad, usa (a, b) a.edad menos b.edad.

reverse() Invierte el array en el lugar. Ejemplo [1, 2, 3, 4, 5] pasa a [5, 4, 3, 2, 1].

6 Uniones y aplanado

join(separador) Une todos los elementos en una cadena con separador. Ejemplos unir Hola y Mundo con espacio produce Hola Mundo. Unir letras de j a t sin separador produce javascript.

flat(profundidad) Devuelve un nuevo array con subarrays concatenados hasta la profundidad indicada. Por defecto profundidad 1. Ejemplos [1, [2, [3, 4]]] con flat produce [1, 2, [3, 4]] y con profundidad 2 produce [1, 2, 3, 4]. Si no conoces el nivel, puedes usar Infinity. Además, flat elimina huecos vacíos, por ejemplo [1, , 3, [4, 5]] se convierte en [1, 3, 4, 5] tras aplanar.

flatMap(callback) Equivale a map seguido de flat con profundidad 1, pero más eficiente. Ejemplo dividir frases hola mundo y como estas en palabras produce [hola, mundo, como, estas]. También permite filtrar y transformar en un paso, por ejemplo quedarte con impares y duplicarlos a partir de [1, 2, 3, 4] obtienes [2, 6].

7 Copiado y rellenado

fill(valor, inicio, fin) Rellena con un valor desde inicio hasta fin sin incluir fin. Modifica el array original. Ejemplo [manzana, banana, cereza, uva] rellenando con kiwi desde índice 1 hasta 3 produce [manzana, kiwi, kiwi, uva]. También admite índices negativos, por ejemplo letras [a, b, c, d, e] con fill de z desde -2 produce [a, b, c, z, z].

copyWithin(destino, inicio, fin) Copia una secuencia dentro del mismo array sobrescribiendo, sin cambiar la longitud. Ejemplo letras [a, b, c, d, e] copiando desde índice 3 al destino 0 produce [d, e, c, d, e].

8 Conversión

toString() Devuelve una cadena representando el array y sus elementos separados por comas. Ejemplo [manzana, banana, cereza] se convierte en manzana,banana,cereza. Con arrays anidados como [1, 2, [3, 4]] el resultado es 1,2,3,4.

entries() Devuelve un iterador de pares índice y valor. Útil para recorrer obteniendo simultáneamente posición y elemento, por ejemplo produce pares como [0, manzana], [1, banana], [2, cereza].

9 Consejos avanzados y buenas prácticas

Encadenado de métodos Puedes filtrar, luego mapear y luego reducir de forma declarativa. Ejemplo usuarios con propiedad activo true filtrados y luego mapeados a nombres producen una lista limpia de usuarios activos.

Inmutabilidad Evita mutar el array original, especialmente en entornos como React. En lugar de aplicar reverse directamente, crea una copia con el operador de propagación y aplica reverse a la copia, preservando el original. Este enfoque reduce efectos colaterales y facilita el razonamiento sobre el estado.

Reduce para transformaciones complejas Cuando necesites transformar a un valor único o a una estructura distinta, reduce es el método más versátil. Por ejemplo, agrupar estudiantes por calificación puede producir un objeto con claves por nota y arrays de nombres.

Elige el método adecuado Usa forEach para efectos, map para transformaciones uno a uno, filter para seleccionar subconjuntos, reduce para acumulaciones y transformaciones a nuevas estructuras, find o some para búsquedas con salida temprana y eficiencia.

Métodos modernos amigables con la inmutabilidad Métodos como with, toSorted y toSpliced crean nuevas copias inmutables manteniendo el original sin cambios, ideales para arquitecturas reactivas.

10 Resumen

Los arrays en JavaScript cuentan con decenas de métodos para creación, búsqueda, iteración, mutación y conversión. Dominar reduce, map y filter habilita un estilo declarativo y expresivo. Aprovecha el encadenado para pipelines de datos legibles. Evita mutar directamente los arrays y prioriza operaciones inmutables como toSorted y toSpliced. Practica con casos reales de filtrado, transformación y agregación para consolidar habilidades.

¿Quieres llevar estas prácticas a tus productos digitales En Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida con las mejores prácticas de ingeniería. Descubre cómo abordamos proyectos de extremo a extremo en nuestro servicio de desarrollo en desarrollo de aplicaciones y software multiplataforma. Además, potenciamos procesos con ia para empresas, agentes IA, y soluciones de automatización sobre datos, reforzadas por servicios cloud aws y azure, ciberseguridad y power bi. Conoce más sobre cómo aplicamos inteligencia artificial en tu organización visitando nuestro enfoque de inteligencia artificial.

Palabras clave estratégicas aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, pentesting, servicios cloud aws y azure, servicios inteligencia de negocio, power bi, automatización de procesos, business intelligence.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat