我在Javascript中有一个函数:
var a = [];
function SaveDataToLocalStorage(data)
{
var receiveddata = JSON.stringify(data);
a.push(receiveddata);
alert(a);
localStorage.setItem('session', a);
}
数据参数是JSON对象。
但是每次我点击这个按钮,它都会覆盖我本地存储中的数据。
有人知道怎么做吗?
5条答案
按热度按时间ql3eal8s1#
您需要采取一些步骤来正确地将这些信息存储在localStorage中。但是,在我们开始讨论代码之前,请注意localStorage(目前)不能保存除字符串之外的任何数据类型。您需要序列化数组以进行存储,然后解析它以对其进行修改。
第一步:
session
变量中存储序列化数组时,才应运行下面的第一个代码片段。**要确保localStorage设置正确并存储数组,请首先运行以下代码段:
以上代码只应运行一次,并且仅当您尚未在localStorage
session
变量中存储数组时才可运行。如果您已在执行此操作,请跳至步骤2。第二步:
按如下方式修改函数:
剩下的就交给你了,当你解析它的时候,它会变成一个对象数组。
yi0zb3m42#
到目前为止,你 * 只能在localStorage中存储字符串值 *,你需要序列化数组对象,然后把它存储在localStorage中。
例如:
或
sauutmhj3#
我可以建议您的一件事是扩展存储对象以处理对象和数组。
LocalStorage只能处理字符串,因此您可以使用以下方法来实现
使用它,every值将在set时转换为json字符串,并在get时解析
nimxete24#
我有一个对象,它包含了许多项,可以通过参数来实现。一个变量项列表,它是一个数组。
如果在本地存储中没有任何内容,则必须将对象推到阵列中并设置在本地存储中。
如果你想在本地存储中创建数组,我就在itemsList中保护它,然后把我的对象推到项目中,然后设置它。
同样,如果你没有在本地存储,创造,如果你有推动新的.
r6hnlfcb5#