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.
RE BIEN ME GUSTO ME SIRVIO PA MI TAREA
gracias
Mejor:
http://wolfram.kriesing.de/blog/index.php/2008/javascript-remove-element-from-array
muy bueno, me sirvio
a mi no me funciono, en verdad, el elemento del array se convierte en “undefined”, pero esto no altera el array.length
Para altera
colores.splice(2,1);
A mi tampoco me funciono, alguien sabe como eliminar undefined, y por ende se actualice el length del array.
En vez de borrar al elemento me borra a su complemento!
Borra el contenido, el elemento colores[2] sigue existiendo, pero sin contenido.
exelente gracias