miércoles, 28 de diciembre de 2016

Borrar elementos de un Array

Para borra cualquier dato almacenado en un elemento del array, se hace ajustando el valor del array a "null" o una cadena vacia ("").

En las versiones más modernas de los navegadores a aparecido el operador delete.

NOTA: Al borrar un elemento del array, se eliminará su índice en la lista de índice del array, pero no se reducirá la longitud del array. Ejemplo:

miarray.length; // resultado: 8
delete miarray[5];
miarray.length; // resultado: 8
miarray[5]; // resultado: undefined


El proceso de borrar una entrada del array no libera la memoria ocupada por esos datos necesariamente. El intérprete del javascript encargado de gestionar la colección de basura en memoria, se encargará de libera memoria ocupada cuando la necesite.

Para tener mayor control sobre la eliminación de elementos de un array, se utiliza:

splice(índice, número de elementos a eliminar)

splice(), esta soportado por la mayoría de los navegadores. Este método se puede usar en cualquier array, y te permite eliminar un elemento o una secuencia de elementos de un array, provocando que la longitud del array se ajuste al nuevo número de elementos.

delete, es compatible a partir de estas versiones: winIE4 +, MacIE4 +, Moz +, Safari +, Opera +, Chrome +.

Ejemplo de uso de delete:

var  oceanos = new  array("Atlantico","Pacifico","Artico","Indico");
delete oceanos[2]; // Se elminina "Artico".

Que sucede:
El tercer elemento del array("Artico"), será eliminado del mismo, pero la longitud del array seguirá siendo la misma, y el array quedará así:

oceanos[0] = "Atlantico";
oceanos[1] = "Pacifico";
oceanos[3] = "Indico";


Si se hace referencia a oceanos[2] nos devolverá un resultado indefinido(undefined).

Para reducir el tamaño hay que utilizar splice():

oceanos.splice(2.1); // Las posiciones del array resultante serán 0, 1 y 2.

El operador delete, se recomienda para arrays que usen texto como indices del array, ya que de esta forma se producirán menos confusiones a la hora de borrar los elementos.

No hay comentarios:

Publicar un comentario