Cómo borrar valores de un array con Javascript

Esta es una de las preguntas más comunes a la hora de trabajar con Javascript. No lo digo yo, incluso el creador de Node.js, Ryan Dahl formuló esta pregunta a su audiencia durante la presentación de la nueva versión de Node.js (excelente, por cierto). En este sencillo tutorial te vamos a explicar cómo eliminar un elemento de un array mediante el lenguaje de programación Javascript. Te lo explicaremos al detalle con el fin de que uses este artículo como guía definitiva para ello, desde como eliminar primeros elementos, elementos finales, hasta valores que se encuentren e una zona intermedia.

¿Cómo puedo eliminar un elemento de un array?

¿Tiene el operador delete algún uso? También existen otras funciones con nombres divertidos como splice() y slice(), ¿qué pasa con esas funciones? Quiero modificar el array in-situ.

Usar splice() para eliminar un valor concreto

La forma correcta de eliminar un elemento de un array es utilizar splice(). Necesitamos un índice y la cantidad de elementos que deseas eliminar tomando como partida ese índice.

var array = ["a", "b", "c"];
var index = 1;
array.splice(index, 1); // valor b
//Array resultante array: a, c

No confundas esta función con su prima hermana slice() que sirve para extraer un sector de un array.

Usar shift() y pop() para eliminar de principio a fin

Si sientes interés sobre cómo eliminar la primera o la última posición de un array de una forma sencilla, estás de enhorabuena porque existen funciones en Javascript que te facilitan muy mucho el trabajo. Las funciones shift() y pop() existen precisamente para este propósito.

var array = ["a", "b", "c"];
array.shift();
//Eliminaremos el valor "a"
//El array resultante será array: b,c
var array = ["a", "b", "c"];
array.pop();
//Eliminaremos el valor "c"
//El array resultante será array: a,b

Usar delete para crear espacios vacíos

Hagas lo que hagas, no uses delete para eliminar un elemento de un array. El lenguaje Javascript especifica que los arrays son dispersos, es decir, puede haber agujeros entre los elementos. Usando la función delete creas este tipo de agujeros. Se elimina un elemento de la matriz, pero no actualiza la propiedad length. Esto deja al array en un estado de gracia que es mejor evitar.

var array = ["a", "b", "c"];
delete array[1]; //true
//El array resultante será array: a, , c
array.length //devolverá 3

Fíjate en que ha dejado un lugar vacío y la longitud del array sigue igual que antes.

Recuerda esto

La próxima vez que vayas a eliminar un elemento de un array, ten en cuenta estos consejos:

Para un elemento concreto: array.splice(index, 1)

Primer elemento: array.shift()

Último elemento: array.pop()

Nunca delete porque genera espacios vacíos (a no ser que te interese claro)

Y hasta aquí el tutorial sobre cómo eliminar elementos de un array. Espero que te haya gustado y sepas aplicarlo a tus futuros proyectos. Si tienes alguna duda acerca de este tutorial indícanoslo en los comentarios. ¡Un saludo y buen código!

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR