Cuando trabajas con arrays en JavaScript, es fundamental entender qué métodos modifican el array original y cuáles crean uno nuevo. Dos de los métodos más utilizados para alterar directamente un array son push y pop, y dominarlos es clave para manipular datos de forma eficiente.
¿Qué es la mutabilidad en arrays de JavaScript?
La mutabilidad (mutability) se refiere a la capacidad de cambiar un valor después de haberlo creado. Cuando usamos métodos como push o pop, no estamos generando un nuevo array, sino que estamos modificando directamente el array original. Esto es algo muy importante a tener en cuenta, porque cualquier referencia a ese array también verá los cambios reflejados.
¿Cómo funciona el método push para agregar elementos?
El método push añade uno o más elementos al final de un array y devuelve la nueva longitud de ese array [01:00]. Veamos un ejemplo práctico:
javascript
const countries = ['USA', 'Canada', 'UK'];
const newCountries = countries.push('Germany', 'Australia');
console.log(countries); // ['USA', 'Canada', 'UK', 'Germany', 'Australia']
console.log(newCountries); // 5
push recibe uno o varios valores como argumento.
- Los agrega al final del array original.
- Retorna un número: la nueva longitud del array.
En el ejemplo, el array countries pasa de tener tres elementos a cinco. La variable newCountries no contiene un array, sino el valor 5, que representa esa nueva longitud [02:24]. Es un detalle que muchos principiantes pasan por alto.
¿Por qué push modifica el array original?
Porque push es un método mutante. No crea una copia del array, sino que opera directamente sobre él. Si necesitas conservar el array sin cambios, deberías hacer una copia antes de usar push.
¿Cómo funciona el método pop para eliminar elementos?
El método pop hace lo contrario de push: elimina el último elemento del array y lo devuelve como valor [02:48]. Observa el siguiente código:
javascript
const countries = ['USA', 'Canada', 'UK', 'Germany', 'Australia'];
const removedCountry = countries.pop();
console.log(countries); // ['USA', 'Canada', 'UK', 'Germany']
console.log(removedCountry); // 'Australia'
pop no recibe argumentos.
- Remueve el último elemento del array.
- Retorna el elemento eliminado, no la longitud.
¿Qué diferencia hay entre lo que devuelven push y pop?
Esta es una distinción clave:
- push retorna la nueva longitud del array.
- pop retorna el elemento que fue removido.
Ambos métodos comparten una característica esencial: los dos mutan el array original [03:23]. Después de aplicar pop, el array countries queda con un elemento menos, y esa modificación es permanente en la referencia original.
¿Cuándo usar push y pop en tus proyectos?
Estos métodos son ideales para estructuras de datos tipo pila (stack), donde el último elemento en entrar es el primero en salir (LIFO). Algunos casos de uso comunes:
- Agregar elementos a una lista dinámica con
push.
- Deshacer la última acción eliminando el último elemento con
pop.
- Controlar flujos donde necesitas ir apilando y desapilando valores.
Recuerda siempre que al ser métodos que generan mutabilidad, debes tener cuidado cuando compartas referencias al mismo array en distintas partes de tu código. Si otro fragmento depende del estado original, podrías encontrarte con comportamientos inesperados.
¿Ya habías trabajado con push y pop? Comparte en los comentarios cómo los usas en tus proyectos.