как добавить свойство объекта в объект в объекте ? %)
пушу функцию для хранения объектов в localStorage .
вот кусок
userOptions = {
set : function (key, value) {
if (!ls.get('userId')) return;
var userId = ls.get('userId');
var opObj = {}
if ($.parseJSON(ls.get('OptionsOfUser-' + userId))) opObj = $.parseJSON(ls.get('OptionsOfUser-' + userId));
opObj[key] = value;
ls.set('OptionsOfUser-' + userId, $.toJSON(opObj));
}
}
ls - это объект (не мной написанный) для работы с localStorage, он если нет localStorage пихает данные к кукки. Это так для справки. Суть проблемы: если я просто передаю ключ,значение , то все ок, но если я передам ключ,объект , то это объект полностью перезапишет объект в ключе. постараюсь пояснить если я сделаю вот так
userOptions.set('positions',{ 'item1' : '001' });
userOptions.set('positions',{ 'item2' : '002' });
то на выходе будет
obj = {
'positions': {'item2' : '002'}
}
а мне надо
obj = {
'positions': {'item1' : '001', 'item2' : '002'}
}
|
по этому придется доставать из сторча обект целиком, изменять его, и засовывать измененный обратно.
По этому нормальные люди в сторче обьекты не хранят. А используют сторч как хэш таблицу, где ключи имеют свой префикс (ну вдруг какой скрипт еще захочет сторч использовать чтобы конфликтов не было) ну НА КРАЙ для создания иерархии в сторче можно использовать пространства имен (давать ключам особые названия) Напрмиер "cats/qq" = 11 "cats/ww" = 22 вот тут становится ясно что и qq и ww лежат в общем контейнере "cats" с такой организацией таблица будет быстрой (молнеиносной просто) на чтение и на запись каких-то единичных значений. но медленной(не на много так что не стоит пугаться) если мы захотим обработать все значения лежащие в cats, например. впрочем это просто пример |
| Часовой пояс GMT +3, время: 03:11. |