简体   繁体   English

尝试将对象存储在localStorage中

[英]Trying to store an object in localStorage

I'm trying to save some data to localStorage but for some reason all I get is an empty array. 我正在尝试将一些数据保存到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) returns [] and JSON.stringify(saveData)返回[]
SaveData returns something weird when I put it on watch: 当我把它放在手表上时, SaveData返回一些奇怪的东西:

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

What am I doing wrong? 我究竟做错了什么?

Found the problem: var saveData = JSON.parse(localStorage.saveData || null) || {}; 找到了问题: var saveData = JSON.parse(localStorage.saveData || null) || {}; var saveData = JSON.parse(localStorage.saveData || null) || {};

Used to be: var saveData = JSON.parse(localStorage.saveData || null) || []; 曾经是: var saveData = JSON.parse(localStorage.saveData || null) || []; var saveData = JSON.parse(localStorage.saveData || null) || [];

saveData remained cached as an empty array breaking the code. saveData仍然作为一个空数组破坏了代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM