如何正确获取localStorage中指定key存储数组的长度?
如何正确获取localStorage中存储数组的长度
嘿,这问题我之前也踩过坑!核心原因是localStorage只能存储字符串类型的数据——你存进去的数组["Gio","Ben"],其实被自动转成了JSON字符串"["Gio","Ben"]"。所以你直接调用localStorage.getItem("key").length(哦对了,你提问里写的是"name",但实际key是"key",应该是笔误啦),得到的是这个字符串的字符长度,自然不是你想要的2。
解决步骤超简单:
- 第一步:用
JSON.parse()把读取到的字符串转回数组 - 第二步:再调用数组的
.length属性
具体代码如下:
// 读取存储的字符串并转换为数组 const storedArray = JSON.parse(localStorage.getItem("key")); // 获取数组的长度 const arrayLength = storedArray.length; // 这里结果就是2啦
顺便给你提个小建议:以后往localStorage里存数组、对象这类复杂数据时,一定要先用JSON.stringify()把它们转成字符串再存,比如:
const myArray = ["Gio","Ben"]; localStorage.setItem("key", JSON.stringify(myArray));
这样后续读取时用JSON.parse()转回来,就能正常使用数组的所有方法了~
内容的提问来源于stack exchange,提问作者Yatoooo
相关产品推荐
相关产品推荐

