首页 文章

如何在数组中存储本地存储的值,JavaScript?

提问于
浏览
1

我一直在尝试在javascript中编码,我希望输入给出显示在屏幕上 . 我想将输入数据存储在LocalStorage中 . 我试图获取值并使用localStorage.setItem和localStorage.getItem我也存储在本地存储中 . 但是,由于我想显示每次单击提交按钮时插入的所有记录,我也想存储当前和以前的记录 . 我试图推入一个数组,但它只有当前记录,而不是以前存储的值 . 我不想要jquery . 我只想要简单的JavaScript代码 . 谢谢 .

eg-
    var data=[];
    function myFunction(data)
    { 
         var name= document.getElementById("nm").value;
         localStorage.name= name;
         for(var i=0;i<localStorage.length;i++)
         {
             var key = localStorage.key(i);
             var value = localStorage.getItem(key);
             data.push( value);
         }
     }

1 回答

  • 2

    是的,正如评论中所提到的,最好只存储数组的String表示形式,并将其存储为localstorage中的值 . Web localstorage允许您存储简单的键值对,可以是整数或字符串(主要是字符串)official docs

    你可以这样做:

    var name= document.getElementById("nm").value;
     var data;
     if (localStorage.getItem("name") === null)
       //First value to be stored
       data = [];
     else
       //There is some value already in the array
       data = JSON.parse(localStorage.getItem("name"));
    
     //Push name to data array in any case
     data.push(name);
     //Update localStorage
     localStorage.setItem("name",JSON.stringify(data));
    

    我希望这能让你开始朝着正确的方向前进 .

相关问题