2014-10-24 1 views
0

У меня есть скрипт, который показывает, как я получаю массив jq .map() статуса флажков на моем сайте. Он производит следующий объект в консоли:Проанализируйте jquery .map() как массив

[Object {name="Sunday", status="Checked"}, Object {name="Monday", status="Checked"}, Object  {name="Tuesday", status="UnChecked"}] 

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

Вот код jsfiddle

ответ

2

Web хранения поддерживают только строковые значения. Таким образом, перед его сохранением необходимо преобразовать объект в строку JSON, используя JSON.stringify(obj).

Когда вы его извлечете, вы можете проанализировать его обратно на объект, используя JSON.parse(str) или $.parseJSON(str).

Обновлено скрипку с примером: http://jsfiddle.net/ab316mkr/5/

MDN От:

Примечание: Имейте в виду, что все, что вы храните в одном из хранилищ, описанных на этой странице преобразуется в строку, используя свой метод .ToString перед хранением. Поэтому попытка сохранить общий объект приведет к тому, что вместо объекта или его представления JSON будет сохранена строка «Объект объекта» ». Использование собственных методов анализа и сериализации JSON, предоставляемых браузером, является хорошим и распространенным способом хранения объектов в строчном формате.

+0

Ах, вот почему мои попытки разобрать не удались. Большой! – Cory

Смежные вопросы