gpt4 book ai didi

javascript - 使用 JSON.parse() 检索本地存储数组列表

转载 作者:行者123 更新时间:2023-11-28 00:14:58 25 4
gpt4 key购买 nike

我想循环遍历我保存的本地存储的每个数组,但使用此代码

localStorage.setItem("fav", JSON.stringify(merchant));

var savedMerchant = JSON.parse(localStorage.getItem("fav"));

$.each(savedMerchant,function(){
console.log(this);

});

为什么要得到这个?

String {0: "L", length: 1, [[PrimitiveValue]]: "L"}
VM420:210 String {0: "a", length: 1, [[PrimitiveValue]]: "a"}
VM420:210 String {0: "z", length: 1, [[PrimitiveValue]]: "z"}
VM420:210 String {0: "a", length: 1, [[PrimitiveValue]]: "a"}
VM420:210 String {0: "d", length: 1, [[PrimitiveValue]]: "d"}
VM420:210 String {0: "a", length: 1, [[PrimitiveValue]]: "a"}
VM420:210 String {0: "Z", length: 1, [[PrimitiveValue]]: "Z"}
VM420:210 String {0: "a", length: 1, [[PrimitiveValue]]: "a"}
VM420:210 String {0: "l", length: 1, [[PrimitiveValue]]: "l"}
VM420:210 String {0: "o", length: 1, [[PrimitiveValue]]: "o"}
VM420:210 String {0: "r", length: 1, [[PrimitiveValue]]: "r"}
VM420:210 String {0: "a", length: 1, [[PrimitiveValue]]: "a"}

最佳答案

TL;DR

  1. 使用 JSON.stringifyJSON.parse() 确保序列化/反序列化
  2. 在写入 localStorage 之前确保类型为数组并已编码
<小时/>

以下带有 JSON.parse() 的语句意味着 localStorage["fav"] 使用 JSON.stringify() 编码为 JSON :

var savedMerchant = JSON.parse(localStorage.getItem("fav")); 
// access to localStorage using getItem() corrected from
// @Seth McClaine in comments to question. Good spot!

因此,请使用 typeof(x) === 'object'x.isArray() 确保您正在编码的类型也是一个 object在写入 localStorage 之前进行验证或调试。

希望这有帮助。

关于javascript - 使用 JSON.parse() 检索本地存储数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30541850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com