Givenjak usunąć kluczową wartość + z hash javascript
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
jak mogę usunąć key2
i object 2
z hash, który kończy się w stanie jakby zrobiłem:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
delete nie robi, co chcę;
delete myHash['key2']
po prostu daje mi to:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
jedynymi docs mogę znaleźć na splice
i slice
czynienia z indeksujących całkowitą, której nie mam.
Edit: Ja też nie wiem, że „klucz2” jest koniecznie w pozycji [1]
UPDATE
OK niewielki czerwony śledź, usuwanie wydaje się robić to, co chcę na powierzchni, jednak im przy json2.js do stringify mojego obiektu JSON do pchania z powrotem do serwera,
ive po usunięciu myHash dostaje odcinkach jak:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
Czy to jest błąd w json2.js? czy jest to coś, co robię źle przy usuwaniu?
Dzięki
To, co robisz, to dodawanie właściwości do obiektu, który różni się od dodawania elementów do tablicy/hasza. Szukasz sposobu na usunięcie nieruchomości, mniej więcej. Spróbuj usunąć myHash.key1, jak wspomniano w innych komentarzach. –
Jeśli to hashtable, powinieneś użyć 'var myHash = new Object()' zamiast 'var myHash = new Array()'. – cprcrack