Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2012, 14:37
Кандидат Javascript-наук
Отправить личное сообщение для mitiya Посмотреть профиль Найти все сообщения от mitiya
 
Регистрация: 13.01.2011
Сообщений: 114

как добавить свойство объекта в объект в объекте ? %)
пушу функцию для хранения объектов в 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'}
}
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2012, 14:46
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

по этому придется доставать из сторча обект целиком, изменять его, и засовывать измененный обратно.
По этому нормальные люди в сторче обьекты не хранят. А используют сторч как хэш таблицу, где ключи имеют свой префикс (ну вдруг какой скрипт еще захочет сторч использовать чтобы конфликтов не было)


ну НА КРАЙ для создания иерархии в сторче можно использовать пространства имен (давать ключам особые названия)

Напрмиер

"cats/qq" = 11
"cats/ww" = 22
вот тут становится ясно что и qq и ww лежат в общем контейнере "cats"
с такой организацией таблица будет быстрой (молнеиносной просто) на чтение и на запись каких-то единичных значений. но медленной(не на много так что не стоит пугаться) если мы захотим обработать все значения лежащие в cats, например.

впрочем это просто пример

Последний раз редактировалось Maxmaxmахimus, 07.10.2012 в 14:54.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В ie6 внутрь createTextNode нельзя добавить свойство. КАК быть? aRpi Events/DOM/Window 1 01.11.2011 19:03
Image.onload: Объект не поддерживает это свойство или метод Ichigeki Internet Explorer 2 06.07.2011 21:11
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11
как выполнить движение объекта scuter Элементы интерфейса 5 08.06.2008 23:57