在本地存储中创建多维数组时出现问题
Problems create multidimensional array in localstorage
我正在尝试在本地存储中保存一些数据。我的脚本如下:
localStorage.clear(); //only for testing
if(typeof localStorage.akten == "undefined") {
localStorage.akten = new Array();
}
var nam = "alpha";
localStorage.akten[nam] = {
"beta": 12
};
localStorage["a_akte"] = nam;
但如果我做console.log(localStorage);
或console.log(localStorage.akten);
,akten
只是一个空字符串?为什么?使用普通对象而不是localStorage,它可以很好地工作。
最重要的是细节。localStorage
只存储字符串。将对象编码为JSON,然后使用例如JSON.stringify()
和JSON.parse()
将它们存放在那里。
这是因为localStorage
不是对象;这是一个接口。您只能将字符串分配给它,最好的方法是使用localStorage.setItem
。如果您想设置更复杂的数据,您需要首先将其编码为JSON。
function localStore(key, obj) {
return window.localStorage.setItem(key, JSON.stringify(obj));
}
function localGet(key) {
return JSON.parse(window.localStorage.getItem(key));
}
localStore('foo', {bar: 'baz'});
localGet('foo'); // Object {bar: "baz"}
相关文章:
- JavaScript/jQuery JSON数组问题-值为未定义
- array_push平面数组问题-需要能够向数组中添加多个变量
- 尽管使用了off,click函数仍会触发,这可能也会导致数组问题
- JavaScript/jQuery悬停函数的行为很有趣——数组问题
- 使用新值更新时出现数组问题
- Javascript 矩阵数组问题
- 对于javascript和jquery的循环数组问题
- 绘制 C3 图表时的 JSON 到数组问题
- Spring 3 中的字符串数组问题
- JavaScript 数组问题
- Javascript图像数组问题
- Javascript数组问题
- 使用JS的数组问题
- 简单的Javascript数组问题
- 在多维数组问题上用javascript实现foreach循环
- 合并并返回唯一数组问题
- Javascript关联数组问题
- ng-repeat声明中的数组问题
- d3.js数组问题:Uncaught TypeError: Cannot read property 'date
- Javascript数组问题:无法读取未定义属性