values objetos eliminar elementos elemento ejemplos asociativo array agregar javascript arrays

objetos - eliminar un elemento de un array javascript



¿Cómo desactivo un elemento en una matriz en javascript? (6)

¿Cómo elimino la clave ''barra'' de una matriz foo para que ''barra'' no se muestre en

for(key in foo){alert(key);}


Así es como lo haría

myArray.splice( myArray.indexOf(''bar'') , 1)


No use delete ya que no eliminará un elemento de una matriz, sino que solo lo configurará como indefinido, lo que no se reflejará correctamente en la longitud de la matriz.

Si conoce la clave, debe usar empalme, es decir,

myArray.splice(key, 1);

Para alguien en la posición de Steven, puedes probar algo como esto:

for (var key in myArray) { if (key == ''bar'') { myArray.splice(key, 1); } }

o

for (var key in myArray) { if (myArray[key] == ''bar'') { myArray.splice(key, 1); } }


Si conoce el nombre de la clave, simplemente haga así:

delete array[''key_name'']


Una nota importante: las Matrices de JavaScript no son matrices asociativas, como las que se usan desde PHP. Si su "clave de matriz" es una cadena, ya no está operando en el contenido de una matriz. Su matriz es un objeto y está usando notación de corchetes para acceder al miembro llamado <nombre de clave>. Así:

var myArray = []; myArray["bar"] = true; myArray["foo"] = true; alert(myArray.length); // returns 0.

como no ha agregado elementos a la matriz, solo ha modificado los miembros de barra y foo de myArray.



delete foo[key];

:RE