¿Cómo eliminar elementos dentro de un arreglo?

Share this video with your friends

Social Share Links

Send Tweet

La flexibilidad de Javascript provee de diferentes métodos para realizar una acción cotidiana como eliminar elementos de un arreglo. Existen métodos mutables como Array.pop, Array.shift y delete y métodos inmutables como Array.slice y Array.filter.

Cada uno de éstos métodos resuelve el mismo problema de una forma distinta y con ciertos casos de usos en específico como el caso de Array.filter que permite filtrar un arreglo en base a una condición particular.

Matías Hernández: [0:00] Eliminar elementos de un arreglo es una tarea cotidiana. JavaScript permite variadas formas de lograr esta tarea. Es posible remover elementos desde el final del arreglo utilizando Array.pop o desde el principio de éste utilizando Array.shift, pero ambos son métodos mutables que modifican el arreglo original.

[0:26] También es posible utilizar el método splice que te permite remover elementos. Splice recibe como primer argumento la posición donde comenzar a modificar elementos y el segundo argumento indica el número de elementos a remover. Splice retorna arreglos con los elementos removidos, pero también muta el arreglo original.

[0:46] También es posible hacer algo un poco más complejo y remover un elemento de índice desconocido utilizando findIndex() como método auxiliar. FindIndex retorna el índice del elemento que cumple con la condición de la función utilizada como argumento. En este caso, tenemos un arreglo de objetos y utilizamos findIndex para encontrar el índice número 2, y utilizamos splice para remover ese elemento.

[1:11] Otro método que podemos utilizar es Array.slice que también es un método inmutable. Slice crea un nuevo arreglo con los elementos indicados por los parámetros. El primer parámetro indica el índice inicial y el segundo la posición final desde donde cortar el arreglo.

[1:29] Para poder remover un elemento o varios, en realidad lo que hacemos es dividir el arreglo en dos o más partes utilizando el índice del elemento que queremos remover como límites de la división y luego utilizamos el operador spread para expandir el arreglo resultante y crear un nuevo arreglo.

[1:45] Otra forma inmutable de eliminar elementos de un arreglo es utilizar Array.filter. Filter crea un array que contiene todos los elementos que pasaron la función de filtro utilizadas como argumento para filtrar. En este caso queremos eliminar todos los ítems que contienen el string "Whatever" en su nombre.

[2:03] Es posible también eliminar un elemento especifico utilizando el operador delete. Esta acción muta el arreglo original, pero no modifica el tamaño del arreglo. El objetivo de delete es más liberar memoria, que eliminar elementos.

[2:17] En resumen, JavaScript otorga diferentes maneras de eliminar un elemento desde un arreglo incluyendo métodos mutables, como pop y shift, y también algunos inmutables, como filter.