在本地存储中存储命名数组时 Stringify 不起作用
Stringify not working when storing named array in localstorage
我已经命名了要存储在本地存储中的数组。
例如:
testla=[];
testla['aaaa']='a';
然而,当我尝试时:
console.log(JSON.stringify(testla));
这输出:
[]
更奇怪的是,使用时:
testla=[];
testla[10]='a';
我得到这样奇怪的结果:
[null,null,null,null,null,null,null,null,null,null,"a"]
根据文档,localstorage 只能存储字符串,因此字符串化对我来说很有意义,但显然它不起作用,因此必须有其他方法。
JSON.stringify() 忽略数组的非数组属性。但是你可以使用对象:var testla = {};
.
在第一个示例中,您只是向对象添加了一个 属性 调用 aaa。与
相同
testla.aaaa = 'foo';
您可以像这样使用对象创建关联数组:
var myArr = {};
myArr['aaaa'] = 'bar';
没有命名数组,js中的数组只能用数字来索引
我已经命名了要存储在本地存储中的数组。
例如:
testla=[];
testla['aaaa']='a';
然而,当我尝试时:
console.log(JSON.stringify(testla));
这输出:
[]
更奇怪的是,使用时:
testla=[];
testla[10]='a';
我得到这样奇怪的结果:
[null,null,null,null,null,null,null,null,null,null,"a"]
根据文档,localstorage 只能存储字符串,因此字符串化对我来说很有意义,但显然它不起作用,因此必须有其他方法。
JSON.stringify() 忽略数组的非数组属性。但是你可以使用对象:var testla = {};
.
在第一个示例中,您只是向对象添加了一个 属性 调用 aaa。与
相同testla.aaaa = 'foo';
您可以像这样使用对象创建关联数组:
var myArr = {};
myArr['aaaa'] = 'bar';
没有命名数组,js中的数组只能用数字来索引