localStorage и Javascript Object с массивами, сохраните Issue - PullRequest
1 голос
/ 20 марта 2012

У меня есть следующие компоненты:

patientDiseasesStorage = new Object()
patientDiseasesStorage['p158246547'] = [1, 3, 8, 2, 5] //and many more of this with different p-number

Я пытаюсь сейчас сохранить эту комбинацию объектов / массивов

localStorage.setItem('patientDiseasesStorage', JSON.stringify(patientDiseasesStorage));

Но когда я пытаюсь прочитать это обратно из localStorage, это не такимеют правильные значения:

patientDiseasesStorage = JSON.parse(localStorage.getItem('patientDiseasesStorage'));
patientDiseasesStorage['p158246547'] is now undefined and not the array.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

Какой браузер вы используете? Последний Chrome работает для меня.

var a = [1, 2,3]
var obj = {'a': a}
obj.a
> [1, 2, 3]
localStorage.setItem('obj', JSON.stringify(obj))
var obj2 = JSON.parse(localStorage.getItem('obj'))
obj2.a
> [1, 2, 3]
0 голосов
/ 20 марта 2012

Если p158246547 является строкой, а не именем переменной, она должна заключаться в кавычки:

patientDiseasesStorage['p158246547'] = [1, 3, 8, 2, 5] //and many more of this with different p-number

Используйте кавычки, когда вы извлекаете ее также из localStorage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...