JavaScript – Borrar elementos en un array

11 Febrero 2009

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.


JavaScript – Averiguar si un elemento está en un array o en un objeto

10 Febrero 2009

La manera más eficiente de saber si un elemento está en un array o en objeto en JavaScript es la que muestro en el siguiente ejemplo:

En un array:

colores = new Array("rojo", "amarillo", "verde", "negro", "blanco");
if (3 in colores) {
   // codigo
}

En un objeto:

micapa = document.getElementById("capa1");
if ("innerHTML" in micapa){
   //codigo
}

En el primero ejemplo se comprueba que exista un elemento con índice 3 en el array colores. Y en el segundo ejemplo, que el objeto capa1 contenga la propiedad innerHTML.

El único requisito para usar el operador in es que el navegador soporte JavaScript 1.2.