2023-10-08 在js 中怎么在localStorage
2023-10-07 本文已影响0人
流泪手心_521
在 JavaScript 中,localStorage 只能储存字符串类型的数据。如果要储存一个 Map 对象,需要先将其转换为字符串,然后再存储到 localStorage 中。
以下是一个示例代码:
// 创建一个 Map 对象
const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
// 将 Map 对象转换为字符串
const mapString = JSON.stringify(Array.from(myMap.entries()));
// 将转换后的字符串存储到 localStorage 中
localStorage.setItem('myMap', mapString);
在上面的代码中,首先创建了一个 Map 对象 myMap,然后使用 Array.from(myMap.entries()) 将 Map 对象转换为一个二维数组,再使用 JSON.stringify() 将该数组转换为字符串。
最后,使用 localStorage.setItem() 将转换后的字符串存储到 localStorage 中,其中 'myMap' 是存储的键名。
要读取存储在 localStorage 中的 Map 对象,可以使用以下代码:
// 从 localStorage 中读取存储的字符串
const storedMapString = localStorage.getItem('myMap');
// 将字符串转换为 Map 对象
const storedMap = new Map(JSON.parse(storedMapString));
console.log(storedMap);
在上面的代码中,首先使用 localStorage.getItem() 从 localStorage 中读取存储的字符串,然后使用 JSON.parse() 将字符串转换为数组,再使用 new Map() 将数组转换为 Map 对象。
最后,将转换后的 Map 对象赋值给 storedMap,并打印输出。