gpt4 book ai didi

javascript - 如何在本地存储(或其他地方)中保存 ES6 map ?

转载 作者:IT老高 更新时间:2023-10-28 12:44:21 26 4
gpt4 key购买 nike

var a = new Map([[ 'a', 1 ]]);
a.get('a') // 1

var forStorageSomewhere = JSON.stringify(a);
// Store, in my case, in localStorage.

// Later:
var a = JSON.parse(forStorageSomewhere);
a.get('a') // TypeError: undefined is not a function

不幸的是 JSON.stringify(a); 只是返回 '{}',这意味着 a 在恢复时变成了一个空对象。

我找到了 es6-mapify允许在 Map 和普通对象之间进行向上/向下转换,因此这可能是一种解决方案,但我希望我需要借助外部依赖项来简单地保留我的 map 。

最佳答案

假设您的键和值都是可序列化的,

localStorage.myMap = JSON.stringify(Array.from(map.entries()));

应该可以。相反,使用

map = new Map(JSON.parse(localStorage.myMap));

关于javascript - 如何在本地存储(或其他地方)中保存 ES6 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28918232/

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