Dadacómo quitar valor clave + a partir de hash en javascript
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
cómo puedo eliminar key2
y object 2
a partir del hash, que termina en un estado como si lo hice:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
borrar no hace lo que quiero;
delete myHash['key2']
simplemente me da esto:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
los únicos documentos que puedo encontrar en splice
y slice
trato con los indexadores entero, que no tengo.
Editar: Yo también no sé que 'clave2' está necesariamente en la posición [1]
ACTUALIZACIÓN
OK ligera cortina de humo, borrar sí parece hacer lo que quiero en la superficie, Sin embargo, im usando json2.js a stringify mi objeto JSON para empujar de nuevo al servidor,
después de que he eliminado, myHash se serializado como:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
¿Es esto un error en json2.js? o es algo que estoy haciendo mal con eliminar?
Gracias
Lo que está haciendo es agregar propiedades a un objeto, que es diferente a agregar elementos a una matriz/hash. Está buscando una manera de eliminar una propiedad, más o menos. Intente eliminar myHash.key1, como se menciona en otros comentarios. –
Si es una tabla hash, debe usar 'var myHash = new Object()' en lugar de 'var myHash = new Array()'. – cprcrack