Cuando trabajas con arrays en JavaScript, entender la mutabilidad e inmutabilidad marca la diferencia entre romper tu código sin querer o controlarlo con precisión. Aquí te explico cómo ciertos métodos transforman el array original y otros crean uno nuevo, además de cómo verificar si una variable es un array y cómo recorrerlo con un for para sumar sus elementos.
¿Qué significa que un array sea mutable en JavaScript?
Un array es un objeto, y como tal tiene métodos. Algunos de esos métodos modifican el array original, es decir, lo mutan. Otros, en cambio, devuelven un array nuevo y dejan intacto el original.
Un ejemplo claro de mutación aparece con el método push, que agrega un elemento al final del array existente. Si tienes un array fruits con apple, banana y orange, y le aplicas fruits.push('watermelon'), al imprimir fruits verás que ahora contiene los cuatro valores. El array original cambió.
¿Qué es la mutabilidad en arrays? Es la capacidad que tienen ciertos métodos de modificar directamente el array original en lugar de devolver uno nuevo. Métodos como push mutan el array.
¿Cómo funciona la inmutabilidad con concat?
La inmutabilidad es lo contrario: trabajas sobre el array sin alterarlo. El método concat es un buen ejemplo porque junta dos arrays y devuelve uno nuevo.
Si haces const newFruits = fruits.concat(['grape', 'kiwi']), al imprimir ambos arrays vas a notar dos cosas:
fruits mantiene su contenido previo, sin las nuevas frutas añadidas por concat.
newFruits contiene la combinación: apple, banana, orange, watermelon, grape y kiwi.
Esa diferencia es clave cuando quieres preservar datos originales mientras generas variaciones para otros procesos.
¿Cómo verificar si una variable es un array con Array.isArray?
A veces necesitas confirmar que estás trabajando con un array antes de aplicarle métodos específicos. Para eso existe Array.isArray, que devuelve un booleano: true si la variable es un array, false si no lo es.
La sintaxis es directa: const isArray = Array.isArray(fruits). Al hacer console.log(isArray) con un array válido, recibirás true.
¿Para qué sirve Array.isArray? Sirve para validar si una variable es un array antes de ejecutar lógica que dependa de esa estructura. Devuelve true o false.
Este tipo de validación evita errores silenciosos cuando recibes datos desde APIs o entradas externas donde no controlas el tipo.
¿Cómo sumar todos los elementos de un array con un for?
Un ejercicio práctico muy común es recorrer un array y sumar sus valores. Aquí entran en juego dos cosas que ya viste: la propiedad length y el ciclo for.
El planteamiento es así:
- Creas un array de números, por ejemplo
numbersArray = [1, 2, 3, 4, 5].
- Declaras una variable
sum inicializada en cero.
- Recorres el array con un for que itere mientras
i sea menor que numbersArray.length.
- En cada vuelta sumas:
sum = sum + numbersArray[i].
El código completo se vería así:
javascript
const numbersArray = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < numbersArray.length; i++) {
sum = sum + numbersArray[i];
}
console.log(sum); // 15
El resultado es 15, que corresponde a la suma de 1 + 2 + 3 + 4 + 5. El uso de numbersArray.length te asegura que el ciclo recorra exactamente la cantidad de posiciones que existen, sin pasarse ni quedarse corto.
¿Por qué usar length en lugar de un número fijo?
Usar length hace tu código flexible. Si mañana el array tiene diez elementos en lugar de cinco, no necesitas tocar el for: la condición se ajusta automáticamente.
Esa es la lógica detrás de combinar arrays con ciclos: la propiedad length te entrega el tamaño dinámico, el for te da el control de iteración, y los índices te permiten acceder a cada valor por su posición.
¿Qué método de array vas a probar primero, uno mutable como push o uno inmutable como concat? Cuéntame en los comentarios.