我正在使用本地存储进行一些测试。在我对数组的测试中,我被困在数组部分(推)。
我做了什么:
if (localStorage.myArray) {
localStorage.myArray.push("Green");
} else {
localStorage.myArray = ["Red", "Blue"];
}
这会返回错误:
Uncaught TypeError: localStorage.myArray.push is not a function
我知道localstorage itens总是字符串,但我不知道它是如何工作的。
答案 0 :(得分:5)
由于localStorage只接受字符串,因此您必须使用JSON.stringify将数组转换为JSON字符串。将JSON字符串解析为数组,同时对“数组”执行进一步操作。像这样的东西
if (localStorage.myArray) {
var myArray = JSON.parse(localStorage.myArray);
myArray.push("Green");
localStorage.myArray = JSON.stringify(myArray);
} else {
localStorage.myArray = JSON.stringify(["Red", "Blue"]);
}
答案 1 :(得分:0)
if (localStorage.myArray) {
var myArray = localStorage.myArray.split(',');
myArray.push("Green");
localStorage.myArray = myArray;
} else {
localStorage.myArray = ["Red", "Blue"];
}