2013-08-25 2 views
1

Я пытаюсь сохранить некоторые данные в localStorage, но по какой-то причине все, что я получаю, это пустой массив.Попытка сохранить объект в localStorage

var saveData = JSON.parse(localStorage.saveData || null) || {}; 

function saveGame() { 
    saveData.buildings = "buildings"; 
    saveData.resources = resources; 
    saveData.time = new Date(); 

    localStorage.saveData = JSON.stringify(saveData); 
} 

JSON.stringify(saveData) возвращает [] и
SaveData возвращает что-то странное, когда я положил его на часы:

Array[0] 
- buildings: "buildings" 
- length: 0 
- resources: Object 
- time: <time> 
- __proto__: Array[0] 

Что я делаю неправильно?

+3

Кажется, что все работает отлично для меня -> http://jsfiddle.net/N9L2h/1/ – adeneo

+0

Из любопытства, в каком браузере вы используете? – ninty9notout

+0

Вы уверены, что в другом месте нет кода, который устанавливает saveData в массив? – dc5

ответ

0

Найдено проблемы: var saveData = JSON.parse(localStorage.saveData || null) || {};

Раньше: var saveData = JSON.parse(localStorage.saveData || null) || [];

saveData остался кэшированные как пустой массив нарушения кода.

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