当前位置: 首页 > 面试题库 >

将JSON对象推送到localStorage中的数组

涂飞航
2023-03-14
问题内容

我在Javascript中有一个功能:

var a = [];
function SaveDataToLocalStorage(data)
{       
    var receiveddata = JSON.stringify(data);
    a.push(receiveddata);
    alert(a);

    localStorage.setItem('session', a);

}

data参数是一个JSON对象。

但是每次我单击按钮时,它都会覆盖本地存储中的数据。

有人知道怎么做这个吗?


问题答案:

您需要采取一些步骤将这些信息正确存储在localStorage中。但是,在开始编写代码之前,请注意,localStorage(当前) 不能
保存除字符串以外的任何数据类型。您将需要序列化阵列进行存储,然后将其解析回去以对其进行修改。

步骤1:

仅当尚未将序列化数组存储在localStoragesessionhtml" target="_blank">变量中时,才应运行下面的第一个代码段。
为确保您的localStorage正确设置并存储阵列,请首先运行以下代码段:

var a = [];
a.push(JSON.parse(localStorage.getItem('session')));
localStorage.setItem('session', JSON.stringify(a));

以上代码仅应运行 一次, 并且仅当您尚未将 数组 存储在localStorage
session变量中时才应运行。如果您已经在执行此操作,请跳至步骤2。

第2步:

像这样修改您的功能:

function SaveDataToLocalStorage(data)
{
    var a = [];
    // Parse the serialized data back into an aray of objects
    a = JSON.parse(localStorage.getItem('session')) || [];
    // Push the new data (whether it be an object or anything else) onto the array
    a.push(data);
    // Alert the array value
    alert(a);  // Should be something like [Object array]
    // Re-serialize the array back into a string and store it in localStorage
    localStorage.setItem('session', JSON.stringify(a));
}

这应该为您处理其余的工作。当您解析它时,它将成为一个对象数组。

希望这可以帮助。



 类似资料:
  • 空心我有一些问题和小问题我有3个输入字段我需要在单击时从中获取值将它们分配给对象并将该对象推入数组有人可以帮助我说在哪里查找信息我正在MDN上搜索,但我找不到正确的主题,示例1)将值输入到对象,然后将该对象推入数组 使用html和javascript链接到JSFIDLE

  • 几个小时以来,我一直试图将所有坐标数组放入一个对象中,但似乎无法找到如何使用angular查找和推入坐标数组。 我以为我可以用angular.for来完成这个,但是我不能让它工作。我试图找到答案和教程,但似乎没有什么适合我的需要在这里。我可能没有完全理解。 以下是我的JSON: 这是我的最新尝试: 任何关于如何实现这一点的教程参考或示例(甚至更好),都将不胜感激! 我正在寻找以下结果:

  • 更新后出错 连接独立属性文件 连接帖子属性文件 上面的错误是当我通过apache kafka./bin/connect-standalone.shconfig/connect-standalone.propertiesconfig.postgresql.properties时引起的。 然后,我尝试并实现了本链接中提到的流程: https://hellokoding.com/kafka-connec

  • 问题内容: 我有一个示例数组,用于将条目插入到YUI数据表中 我可以通过这样做获得相同的阵列吗? 我在这里尝试的是编写一个通用方法,该方法将遍历结果列表并在将来能够形成一个条目。 所以我怎样才能使数组与本书代码的第一部分相同? 添加了我的整个示例代码,带注释的书本数组似乎可以工作,但未注释的部分似乎无法显示行 问题答案: 我尝试并找到了解决方案,因为在我按入后,att和值将成为对象 这将使其显示在

  • 让我们开始讨论这个问题 但为什么会导致 我期待结果 我用nodejs得到的结果

  • 我有这样的数据响应 然后我想把颜色推到物品里面 预期:每个索引项有三(3)个变量 我尝试使用push和concat,但出现错误“无法读取未定义的属性“数据” 这是我的密码