【问题标题】:Stringify not working when storing named array in localstorage将命名数组存储在本地存储中时,字符串化不起作用
【发布时间】:2017-10-12 23:53:46
【问题描述】:

我已经命名了要存储在本地存储中的数组。

例如:

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 只能存储字符串,因此字符串化对我来说很有意义,但显然它不起作用,所以必须有其他方法。

【问题讨论】:

标签: javascript arrays json local-storage stringify


【解决方案1】:

JSON.stringify() 忽略数组的非数组属性。但是你可以使用对象:var testla = {};

【讨论】:

  • 我使用对象来存储其他变量,但我特别想通过命名数组来实现这一点。
【解决方案2】:

在第一个示例中,您只是将属性调用 aaa 添加到您的对象。和

一样
testla.aaaa = 'foo';

您可以像这样使用对象来创建关联数组:

var myArr = {};
myArr['aaaa'] = 'bar';

没有命名数组这种东西,js中的数组只能用数字来索引。

【讨论】:

    猜你喜欢
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 2020-02-13
    • 2015-06-30
    • 2014-05-10
    相关资源
    最近更新 更多