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/