我有一个存储在localStorage中的数组,它有一个名为“key”的键,它包含这个值[“Gio”,“Ben”]
我如何得到长度 我试过了
localStorage.getItem("name").length;
但它显示了不同的输出 我所期待的应该是2。
提前致谢
答案 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;
它会起作用。