var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
Taste + Wert zu entfernen, wie ich key2
und object 2
aus dem Hash entferne, dass es in einem Zustand endet, als ob ich tat:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
löschen tut nicht, was ich will;
delete myHash['key2']
einfach gibt mir dies:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
die einzigen Dokumente i auf splice
und slice
Deal mit Integer-Indexer finden, die ich nicht haben.
Edit: Ich weiß auch nicht, dass 'key2' in Position notwendigerweise [1]
UPDATE
OK leichte Ablenkungsmanöver, löschen scheint zu tun, was ich auf der Oberfläche möge, jedoch im json2.js mit meinem Objekt json stringify für an den Server zurückschieben,
nach ive gelöscht, wird myHash serialisiert als:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
Ist das ein Fehler in json2.js? oder macht es etwas falsches mit löschen?
Dank
Was Sie tun, ist das Hinzufügen von Eigenschaften zu einem Objekt, die anders als das Hinzufügen von Elementen zu einem Array/Hash ist. Sie suchen nach einer Möglichkeit, eine Eigenschaft mehr oder weniger zu entfernen. Versuchen Sie, myHash.key1 zu löschen, wie in anderen Kommentaren erwähnt. –
Wenn es eine Hashtabelle ist, sollten Sie 'var myHash = new Object()' anstelle von 'var myHash = new Array()' verwenden. – cprcrack