JavaScript – Borrar elementos en un array

Si queremos borrar un elemento de un array en JavaScript, habremos observado que con igualar el elemento a undefined o null, el elemento no desaparece del array.
La manera óptima para hacerlo es usar el operador delete de JavaScript (disponible a partir de JavaScript 1.2), tal y como muestro en el siguiente ejemplo:

colores = new Array("rojo", "amarillo", "verde", "negro", "blanco");
delete colores[2];

Con esto el elemento “verde”, es el que tenía índice número 2, desaparece del array realmente, consumiendo así el array menos memoria.

Rectificación: El método anterior me funcionó en una implementación en concreto de Javascript y en un navegador que no recuerdo ahora mismo, pero como bien postean en algunos comentarios, parece que no siempre funciona correctamente, ya que delete no borra el elemento, sino que inicializa su valor a undefined.

La manera más correcta de eliminar un elemento de un array en JavaScript es usar el método splice. Aquí más información: http://www.w3schools.com/jsref/jsref_splice.asp.

10 Respuestas a JavaScript – Borrar elementos en un array

  1. Andres Felipe Carmona dice:

    RE BIEN ME GUSTO ME SIRVIO PA MI TAREA

  2. Andres Felipe Carmona dice:

    gracias

  3. javierlog08 dice:

    muy bueno, me sirvio

  4. asturcon dice:

    a mi no me funciono, en verdad, el elemento del array se convierte en “undefined”, pero esto no altera el array.length

  5. oscaru dice:

    Para altera
    colores.splice(2,1);

  6. A mi tampoco me funciono, alguien sabe como eliminar undefined, y por ende se actualice el length del array.

  7. GALDAKA dice:

    En vez de borrar al elemento me borra a su complemento!

  8. Borra el contenido, el elemento colores[2] sigue existiendo, pero sin contenido.

  9. mposada dice:

    exelente gracias

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.