Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Modificación JS: Arrays

Hemos trabajado con datos primitivos en JavaScript como números y cadenas de texto, y sabemos que estos no pueden cambiar. Cuando aplicamos un método a ellos, obtenemos un nuevo valor, pero la variable original sigue igual.

const name = 'Códica';
name.toUpperCase(); // 'CÓDICA'
console.log(name); // 'Códica' (el valor original sigue igual)

Sin embargo, los arrays son diferentes. Podemos modificar sus elementos, agregar o eliminar valores.


Cambiar elementos de un Array

Para cambiar un elemento dentro de un array, usamos la notación de corchetes ([]), igual que cuando lo accedemos, pero asignándole un nuevo valor.
const animals = ['gatos', 'perros', 'aves'];
animals[0] = 'caballos'; // Cambia el primer elemento
console.log(animals); // => [ 'caballos', 'perros', 'aves' ]

Un dato curioso aquí es que animals está declarado con const, pero aun así podemos modificar su contenido. Esto se debe a que const solo impide reasignar toda la variable, pero no evitar modificar los datos dentro del array.

const animals = ['gatos', 'perros', 'aves'];
animals[2] = 'peces'; // Modificamos un valor dentro del array
console.log(animals); // => [ 'gatos', 'perros', 'peces' ]

// Esto sí da error porque intentamos reemplazar toda la referencia del array
animals = ['peces', 'gatos']; 
// Uncaught TypeError: Assignment to constant variable.

Agregar elementos al final: push()

Cuando queremos añadir un elemento al final de un array, usamos push().
const animals = ['gatos', 'perros', 'aves'];
animals.push('caballos');
console.log(animals); // => [ 'gatos', 'perros', 'aves', 'caballos' ]

Agregar elementos al Inicio: unshift()

Si necesitamos agregar un elemento al inicio de un array, usamos unshift().
const animals = ['gatos', 'perros', 'aves'];
animals.unshift('caballos');
console.log(animals); // => [ 'caballos', 'gatos', 'perros', 'aves' ]

Agregar elementos en una posición específica

Podemos agregar un valor en una posición específica con la misma sintaxis usada para modificar elementos:

const animals = ['gatos', 'perros', 'aves'];
animals[3] = 'caballos';
console.log(animals); // => [ 'gatos', 'perros', 'aves', 'caballos' ]

Si intentamos asignar un valor en un índice más grande que la longitud actual del array, JavaScript llenará los espacios intermedios con undefined:

const animals = ['gatos', 'perros'];
animals[5] = 'caballos';
console.log(animals); 
// => [ 'gatos', 'perros', <3 empty items>, 'caballos' ]

Eliminar elementos de un array

Para eliminar un elemento sin modificar la estructura del array, podemos usar delete.
const animals = ['gatos', 'perros', 'aves'];
delete animals[1]; // Eliminamos el segundo elemento
console.log(animals); // => [ 'gatos', <1 empty item>, 'aves' ]
⚠️ El método delete no reduce el tamaño del array, solo deja un "hueco" con un empty item.

Por ejemplo:

console.log(animals.length); // 3 (aunque eliminamos un elemento)
Por esta razón, no es recomendable usar delete con arrays.

En próximas lecciones veremos mejores formas de eliminar elementos sin dejar vacíos en el array.


Resumen

  • Los arrays pueden modificarse, a diferencia de los tipos primitivos.
  • Podemos cambiar sus elementos accediendo con su índice y asignando un nuevo valor.
  • Para agregar elementos:
    • push() los añade al final.
    • unshift() los añade al inicio.
  • Para eliminar elementos: delete funciona, pero deja espacios vacíos, por lo que no se recomienda.

Más adelante exploraremos métodos más adecuados para eliminar elementos sin afectar la integridad del array. ¡Práctica estos cambios en un editor y experimenta con los diferentes métodos!

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY