Eliminar elementos de un array en JavaScript: método POP y DELETE

Clase 6 de 29Curso de Estructuras de Datos con JavaScript

Resumen

¿Cómo eliminar elementos de un array en JavaScript?

En programación, la manipulación de arrays es esencial y necesita habilidades precisas. Un array es una colección de elementos, y en algunos escenarios, es necesario eliminar ciertos elementos. La clase trata diversos métodos de JavaScript para este propósito, como los métodos pop y delete, que te permitirán gestionar mejor tus datos. A continuación, te explicamos cómo funcionan.

¿Qué es el método pop y cómo se utiliza?

El método pop es una herramienta básica que te permite eliminar el último elemento de un array.

  • Finalidad: Quita el último elemento del array y lo devuelve.
  • Sintaxis: No requiere argumentos, ya que actúa siempre sobre el último elemento.

Veamos un ejemplo de cómo implementarlo:

const miArray = ['Diego', 'Karen', 'Oscar'];
const ultimoElemento = miArray.pop(); // Elimina y devuelve 'Oscar'
console.log(miArray); // Muestra ['Diego', 'Karen']

El método pop es útil cuando deseas quitar el elemento que se encuentra al final, sin necesidad de saber su valor de antemano.

¿Cómo construir un método myDelete para eliminar elementos específicos?

delete es una palabra reservada en JavaScript utilizada para eliminar propiedades de objetos, pero podemos crear nuestro propio método para eliminar elementos en cualquier posición del array.

El método myDelete:

  • Objetivo: Elimina un elemento en un índice específico y ajusta los índices de los elementos restantes.
  • Lógica: Requiere saber el índice del elemento que deseas borrar y ajustar los índices de los elementos a su derecha.

Aquí te muestro cómo podrías estructurarlo:

class MiArray {
  constructor() {
    this.data = [];
    this.length = 0;
  }

  push(element) {
    this.data[this.length] = element;
    this.length++;
  }

  pop() {
    if (this.length === 0) return undefined;
    const lastItem = this.data[this.length - 1];
    delete this.data[this.length - 1];
    this.length--;
    return lastItem;
  }

  myDelete(index) {
    if (index < 0 || index >= this.length) return undefined;
    const item = this.data[index];
    this.shiftIndex(index);
    return item;
  }

  shiftIndex(index) {
    for (let i = index; i < this.length - 1; i++) {
      this.data[i] = this.data[i + 1];
    }
    delete this.data[this.length - 1];
    this.length--;
  }
}

const array = new MiArray();
array.push('Diego');
array.push('Karen');
array.push('Oscar');
array.myDelete(1); // Elimina 'Karen'
console.log(array); // Muestra ['Diego', 'Oscar']

Como observamos, myDelete es más flexible que pop, permitiéndote seleccionar el elemento que quieras eliminar basándote en su posición.

¿Qué consideraciones finales hay al manipular arrays?

Al manipular arrays, es crucial entender cómo se ajustan los índices:

  • Cambio de índices: Cuando eliminas un elemento, los índices de los elementos siguientes deben reajustarse hacia la izquierda.
  • Manejo de errores: Intentar eliminar un elemento más allá del límite del array debe manejarse para evitar errores silenciosos.

Si deseas profundizar, considera explorar otros métodos de manipulación de arrays, como shift y unshift, que permiten añadir o eliminar elementos al inicio del array. ¡Desafíate a crear tus propios métodos y experimentar con distintas manipulaciones de datos!