如果我将我的数组保存在 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/