【问题标题】:How to assign an object to local storage instated of assigning with every single item?如何将对象分配给本地存储而不是分配给每个项目?
【发布时间】:2021-11-29 14:36:55
【问题描述】:

我有一个我想分配给本地存储的对象,我的意思是你能遍历它吗?知道如何实现吗? 最终结果是,在使用 setitem 后,对象中的键也必须是本地存储中的键,我当然知道如何设置和获取单个项目,但换句话说,我想在一个空的本地存储对象上挂载和对象。

 const data = JSON.parse(object); // a prev localstroage object 
 console.log(data);
 localStorage.setItem(...Object.keys(data), ...Object.values(data));

【问题讨论】:

标签: javascript


【解决方案1】:

您必须使用JSON.stringify(data); 才能将对象存储在本地存储中。

确保在 JavaScript 本身中创建完整的对象(根据您的要求)。然后,一旦您的对象准备就绪,使用JSON.stringify 方法将对象保存在您的本地存储中。

要取回数据,您将使用JSON.parse() 取回对象,然后您可以使用任何 JavaScript 方法根据要求执行您的任务。

【讨论】:

  • 当然,但是我的意思是我的对象至少有 10 个键!如何立即推动它们!
  • 您能否在答案中添加语法... ls 应该看起来与传入的对象完全一样。
  • 亲爱的朋友@Richardson 我不太确定你的要求是什么,伙计。你能给我更多的上下文吗?这样我可以帮助你:)
  • 你需要做这样的事情我的朋友stackoverflow.com/questions/46340004/…
  • 可以说本地存储是空的,我要推送到 ls 的 obj 如下,{Numbers : [1,2,3]},我不是在谈论解析,而是在谈论如何根据我要推送的 obj 在本地存储中填充键值 我希望本地存储看起来完全像这样 键必须是数字,值必须是 [1,2,3] 但如何一次性实现行动?
【解决方案2】:

 //To set
 const obj = {
   key: "Hello World"
 }
 const strObj = JSON.stringify(obj);
 localStorage.setItem('strObj', strObj);

 //To get
 const strObjFromStorage = localStorage.getItem('strObj')
 const objFromStorage = JSON.parse(strObjFromStorage)
 console.log(objFromStorage);

【讨论】:

    【解决方案3】:

    您应该可以使用 JSON.stringifyJSON.parse 这样做:

    // save object to localStorage
    const myobj = {
        x: 1,
        y: 6
    };
    localStorage.setItem('key', JSON.stringify(myobj));
    // fetch date as object from localStorage
    let data = JSON.parse(localStorate.getItem('key'));
    

    【讨论】:

    • 最终对象在本地存储中的样子!我希望我的对象在您的回答中接管本地存储,您正在声明键,然后键具有 x 和 y 的对象,我希望 x y 位于键列中的顶级键而不是值中!!跨度>
    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多