【发布时间】:2019-11-18 20:26:00
【问题描述】:
在本地存储java-script中存储数据和检索多维数组
这里我需要将数组存储在本地存储中。以及如何检索?
【问题讨论】:
-
请在提问前至少搜索答案:google.com/…
标签: javascript html arrays multidimensional-array
在本地存储java-script中存储数据和检索多维数组
这里我需要将数组存储在本地存储中。以及如何检索?
【问题讨论】:
标签: javascript html arrays multidimensional-array
你可以使用JSON.stringify()和JSON.parse()结合Window.localStorage方法setItem()和getItem():
存储:
localStorage.setItem('myItem', JSON.stringify(myMultidimensionalArray))
并使用密钥myItem获取存储的数据:
const array = JSON.parse(localStorage.getItem('myItem'))
【讨论】:
你可以这样尝试:
var multidimensionarray = [
['1','2'],
['3','4']
];
localStorage.setItem('__array', JSON.stringify(multidimensionarray));
console.log(localStorage.getItem('__array'));
【讨论】:
对于localStorage,我们只能将数据存储为字符串,因此:
使用JSON.stringify将数据序列化为字符串,然后存储到本地存储中
const input = [[1], [2], [3]];
localStorage.setItem('myData', JSON.stringify(input));
从本地存储读取数据时,使用JSON.parse将数据反序列化回数组
const arr = JSON.parse(localStorage.getItem('myData'));
【讨论】:
本地存储是非常简单的数据存储。它存储键(字符串),其值也是(字符串且只有字符串!)。你需要使用JSON.stringify(...)来存储数据,然后解析回来JSON.parse(...)
【讨论】:
由于只能将字符串分配给 localStorage,因此您必须在分配之前将数组转换为字符串。
使用JSON.stringify() 将数组转换为JSON 字符串,并使用localStorage.setItem() 将其存储在localStorage 中。
var num = [
['inp1','inp2'],
['inp3','inp4']
];
localStorage.setItem('arr',JSON.stringify(num));
【讨论】: