var map = new Map();
map.set('key1','value1');
map.set('key2','value2');
console.log(map);
console.log(map.toString());
console.log(JSON.parse(map.toString()))
//Uncaught SyntaxError: Unexpected token o in JSON at position 1
使用 toString()
将地图对象转换为字符串,现在我无法从字符串转换为地图对象。
原文由 VAMSEE MOHAN KRISHNA 发布,翻译遵循 CC BY-SA 4.0 许可协议
要存储字符串化结果,最好使用纯 JSON 对象,但是使用
Map
您可以创建一个条目数组并将其字符串化然后您可以再次将 JSON 字符串解析为数组并构造一个新的
Map
但是,
Array.from(map)
或 using 也将返回相同的东西并且可以在这里使用,但是在执行它之前有人不能授予它实际返回的内容,另一方面,获取迭代器然后形成数组是更传统和可读,但是 Array.from(map) 可能是更好的解决方案。另外spread operator
可以在 地图上 使用[...map]
或 map.entries()[...map.entries()]
以形成相同的条目数组。