Учитывая
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
как удалить key2
и object 2
из хэша, чтобы он оказался в состоянии, как если бы я сделал:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
delete не делает то, что я хочу;
delete myHash['key2']
просто дает мне следующее:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
единственные документы, которые я могу найти на splice
и slice
, имеют дело с целыми индексаторами, которых у меня нет.
Изменить: я также не знаю, что "key2" обязательно находится в позиции [1]
ОБНОВЛЕНИЕ
OK небольшая красная селедка, удаление, похоже, делает то, что я хочу на поверхности, однако im, используя json2.js, чтобы передать мой объект json для возврата на сервер,
После удаления ive myHash сериализуется как:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
Является ли это ошибкой в json2.js? или это что-то, что я делаю неправильно с удалением?
Спасибо