带有字符串键的数组的 JavaScript LocalStorage

标签 javascript arrays

如果我将我的数组保存在 localStorage 中,则使用 String 键保存的值将丢失。

例子:

var myArray = [];

myArray["key1"] = "value1";
myArray[123] = "value2";

一切正常,以下工作的输出:

myArray["key1"] => value1
myArray[123] => value2

现在如果我用类似的东西存储数组:

localStorage.setItem('myStoredArray',JSON.stringify(myArray));
var myArray = JSON.parse(localStorage.getItem('myStoredArray'));

输出缺少用字符串键分配的值:

myArray["key1"] => undefined
myArray[123] => value2

我是不是做错了什么,它应该工作还是有另一种方法来保存它,我的值是用字符串键分配的?

提前致谢!

最佳答案

JavaScript 中没有关联数组。您应该使用一个将所有键转换为字符串的对象。

var myObj = {}; // <<< change here

myObj["key1"] = "value1";
myObj[123] = "value2";

关于带有字符串键的数组的 JavaScript LocalStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36982206/

相关文章:

iphone - 你如何在 Swift 中连接两个数组并保持每个数组的顺序? (快速交错数组)

php - 使用 HostMonster 连接到数据库

javascript - 使 fetch 调用真正同步

javascript - JS 在复选框 if else 条件后无法将句子分解为跨度字母

c++ - 我需要动态指定数组的大小

c++ - 用C++类实现数组属性

javascript - 调整内容滚动侧边栏的大小

javascript - 获取 anchor 标记内的文本

java - (索引越界)我用java写了一个刽子手游戏程序

Javascript some() 方法和附加参数