使用 localStorage/sessionStorage 来存储数组

Using localStorage/sessionStorage to store arrays

我正在尝试在 localStorage 值中保存一个数组。我只能访问值的字符,不能访问分组值。我一直在尝试编写一个函数来按逗号对它们进行分组,但我不知道如何正确地做到这一点。

// setting values
localStorage.setItem("foo", [15,"bye"]);

// writes the whole thing.
document.write(localStorage.getItem("foo")); // returns 15,bye

// only writes the first character, instead of one part of the array 
// (in this case it would be 15).
document.write(localStorage.getItem("foo")[0]); // returns 1

我会使用 JSON.stringify to set the data and JSON.parse 来获取存储的数据。

试试这个:

localStorage.setItem("foo", JSON.stringify([15,"bye"]));

// writes the whole thing.
localStorage.getItem("foo"); // returns 15,bye

var data = JSON.parse(localStorage.getItem("foo"));
console.log(data[0])

localStorage 只能在其值中存储字符串,这就是为什么它只存储 15;

使用JSON.stringify并将其作为localStorage.setItem("foo",JSON.stringify([15,"bye"]));

存储在本地存储中

如果要检索值,请按 JSON.parse(localStorage.getItem("foo"));

可以解析json

let data = JSON.parse(localStorage.getItem("foo"));
console.log(data[0])

或者你可以用 ',' 分割并得到 0th 索引项。

localStorage.getItem('foo').split(',')[0]