我已将我希望存储的数组命名为本地存储。
例如:
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只能存储字符串,因此字符串化对我来说很有意义,但显然它不起作用,所以必须有其他方法来实现这一点。
答案 0 :(得分:1)
JSON.stringify()忽略数组的非数组属性。但您可以使用对象:var testla = {};
。
答案 1 :(得分:1)
在第一个示例中,您只是向对象添加属性调用aaa。与
相同testla.aaaa = 'foo';
您可以使用对象创建关联数组:
var myArr = {};
myArr['aaaa'] = 'bar';
没有命名数组,js中的数组只能用数字索引。