如何在localStorage

时间:2018-04-18 06:58:17

标签: javascript arrays json local-storage

我有一个存储在localStorage中的数组,它有一个名为“key”的键,它包含这个值[“Gio”,“Ben”]

我如何得到长度 我试过了

localStorage.getItem("name").length;

但它显示了不同的输出 我所期待的应该是2。

提前致谢

4 个答案:

答案 0 :(得分:1)

您必须使用JSON.parse解析数组,然后您可以像任何其他数组一样获取其长度。

var arrayFromStroage = JSON.parse(localStorage.getItem("name"));
var arrayLength = arrayFromStroage.length;

为了您的意识,localStorage.getItem("name").length;将为您提供存储在localStorage中的JSON字符串的长度。对于数组["Gio","Ben"],其JSON字符串为"["Gio","Ben"]"。所以长度是13。

答案 1 :(得分:0)

localStorage只存储字符串。

如果你有一个数组,你需要在使用JSON.parse之前解析它:

var arrStr = '["Gio","Ben"]';

console.log(JSON.parse(arrStr));

答案 2 :(得分:0)

实际上我们只能在本地存储中保存字符串值。 getItem(“name”)函数返回一个字符串。所以首先你必须将它转换为一个json对象然后你可以获得数组长度。

JSON.parse(localStorage.getItem("name")).length;

答案 3 :(得分:0)

实际上我们在本地存储中有字符串值。 getItem("name").length 函数返回字符串中的总字符数。因此,在列表的情况下,您可以尝试上述所有技巧,但在字典的情况下,它们将不起作用。所以,你能做的就是获取所有的键,然后计算它们。 您可以执行以下操作:

Object.keys(name).length;

它会起作用。