Массив объектов
Добрый день!
Подскажите, мне надо создать ассоциативный массив объектов. obj = { a: 1, b: 2, c:3 } (объектов будет много) и добавить их в ассоциативный массив list[i] = obj; но когда делаешь typeof(list) - возвращает object. и у меня не получатся удалить элемент через splice. В общем, помогите :) |
Цитата:
var list = []; if(list instanceof Array) { alert('list является массивом'); } else { alert('list не является массвом'); } |
Допустим элемент имеет индекс 'ololo@lolo.ololo', в массиве list.
list.splice('ololo@lolo.ololo', 1); результата никакого. элемент в массиве. |
Т.е. я не могу создать ассоциативный массив с доступом по list['ololo@lolo.ololo'] ?
|
voodoo_dn, в js есть массивы - с числовыми индексами и есть объекты - со строковыми ключами. "Ассоциативных массивов" нет, подобную роль исполняют объекты. Чтобы удалить элемент из объекта - следует использовать delete:
var list = {}, obj = { a: 1, b: 2, c:3 }, i = "ololo"; list[i] = obj; alert(JSON.stringify(list, null, '\t')) delete list['ololo']; alert(JSON.stringify(list, null, '\t'))Следует также помнить, что объект в js остаётся в памяти до тех пор пока на него существует хотябы одна ссылка. Т.е. после удаления из list объект всё ещё доступен по ссылке через переменную obj. |
Rise, движок распидорасило от строки 'ololo@lolo.ololo' :)
Код:
[JS]var a = 'ololo@lolo.ololo';[/JS] var a = 'ololo@lolo.ololo'; |
Часовой пояс GMT +3, время: 12:26. |