eliminar elemento array JavaScript

Eliminar elementos de un array JavaScript: splice o filter

Borra por posición o por criterio y decide si necesitas conservar el array original.

Tipo: Guía práctica Lectura: 3 min Actualizado: 2026-11-03
Ejemplo visual para Eliminar elementos de un array en JavaScript sin mutar de más

Guía y comprobaciones

Borrar una posición conocida

splice modifica el array. El primer argumento indica dónde empieza y el segundo cuántos elementos elimina; su valor de retorno contiene lo que se ha retirado.

const tareas = ['leer', 'probar', 'guardar'];
const retiradas = tareas.splice(1, 1);
console.log(JSON.stringify(tareas)); // ["leer","guardar"]
console.log(JSON.stringify(retiradas)); // ["probar"]

Si buscas primero el valor con indexOf, comprueba que la posición sea distinta de -1. Pasar -1 a splice retira desde el final y puede borrar el elemento equivocado cuando el valor buscado no existe.

Obtener una nueva lista

filter conserva los valores cuyo predicado resulta verdadero. Es apropiado para eliminar todos los elementos que cumplen una regla sin cambiar el array inicial.

const ids = [4, 7, 4, 9];
const restantes = ids.filter(id => id !== 4);
console.log(JSON.stringify(restantes)); // [7,9]
console.log(JSON.stringify(ids)); // [4,7,4,9]

Una copia nueva no implica que los objetos de su interior también sean nuevos. Si filtras objetos y después modificas uno de ellos, ese objeto puede seguir compartido con la lista anterior.

No confundas delete con compactar

delete lista[1] elimina una propiedad, pero deja un hueco y no reduce necesariamente la longitud. Para una lista de elementos consecutivos, suele ser una sorpresa al recorrerla o enviarla como JSON. Elige splice para una edición en posición o filter para una selección completa.

Si quieres eliminar sólo la primera aparición de un valor repetido, buscar su posición y retirar uno expresa esa intención. Si necesitas eliminar por identificador, compara el campo de identidad con el tipo correcto: el número 7 y el texto '7' no son iguales en una comparación estricta. Añade casos con una lista vacía, un valor ausente y varios duplicados antes de conectar la operación a la interfaz.

Preguntas frecuentes

¿filter cambia el array original?

No crea una nueva versión de cada objeto, pero sí devuelve un array distinto con las referencias seleccionadas.

¿Qué pasa si indexOf devuelve -1?

El valor no se encontró. No llames a splice con esa posición si querías eliminar una coincidencia concreta.

Documentación oficial

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.