Gegeben
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
Wie entferne ich key2und object 2aus dem Hash, so dass es in einem Zustand endet, als ob ich es getan hätte:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
Löschen macht nicht was ich will;
delete myHash['key2']
gibt mir einfach folgendes:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
Die einzigen Dokumente, die ich finden spliceund slicemit ganzzahligen Indexern umgehen kann, die ich nicht habe.
Edit: Ich weiß auch nicht, dass 'key2' unbedingt in Position ist [1]
AKTUALISIEREN
OK, leicht roter Hering, Löschen scheint an der Oberfläche das zu tun, was ich will. Ich verwende jedoch json2.js, um mein Objekt mit json zu verbinden, damit es zurück zum Server verschoben werden kann.
Nach dem Löschen wird myHash wie folgt serialisiert:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
Ist das ein Fehler in json2.js? oder mache ich etwas falsch mit löschen?
Vielen Dank