Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从localStorage检索多个键和值_Javascript_Local Storage - Fatal编程技术网

Javascript 如何从localStorage检索多个键和值

Javascript 如何从localStorage检索多个键和值,javascript,local-storage,Javascript,Local Storage,我正在将多个阵列存储到localstorage firstArray = []; secArray = []; var firsteobj = {class: class, subject: subject, school: school, area: area, zipcode: zipcode}; firstArray.push(firstobj); localStorage.firstRecord = JSON.stringify(firstArray); var secobj =

我正在将多个阵列存储到localstorage

firstArray = [];
secArray = [];

var firsteobj = {class: class, subject: subject, school: school, area: area, zipcode: zipcode};  
firstArray.push(firstobj);
localStorage.firstRecord = JSON.stringify(firstArray);

var secobj = {student: student, grade: grade, age: age};     
secArray.push(secobj);
localStorage.secondRecord = JSON.stringify(secArray);
我通过函数从localstorage中检索并下载文件

function DownloadRec() {
  var a = {};
  for (var i = 0; i < localStorage.length; i++) {
    var k = localStorage.key(i);
    var v = localStorage.getItem(k);
    a[k] = v;
    //alert(a[k]);
  }

  let dataUrl = 'data:application/json,' + encodeURIComponent(a[k]);
  let exportFileDefaultName = 'test.json';

  let linkElement = document.createElement('a');
  linkElement.setAttribute('href', dataUrl);
  linkElement.setAttribute('download', exportFileDefaultName);
  linkElement.click();
}
函数DownloadRec(){
变量a={};
for(var i=0;i
我可以在浏览器中看到键(firstRecord,secRocord)和对应的值。 我只能检索到第一个密钥,即localstorage.firstRecord。。。。我想检索第二个键和值,也就是localstorage.secondRecord


您能给我提个建议吗。

设置/获取本地存储的正确方法如下:

const myValue = [{ thing: 'myValue' }]
const mySerializedValue = JSON.stringify(myValue)

localStorage.setItem('myKey', mySerializedValue)
localStorage.getItem('myKey')
  arr=[
       obj1:'',
       .
       .
       .
       obj2:''
       ]

另外,我注意到“class”被用作变量名。可能需要重命名,因为在许多编程语言(包括es6 javascript)中,“class”是一个关键字。

只需创建如下对象数组:

const myValue = [{ thing: 'myValue' }]
const mySerializedValue = JSON.stringify(myValue)

localStorage.setItem('myKey', mySerializedValue)
localStorage.getItem('myKey')
  arr=[
       obj1:'',
       .
       .
       .
       obj2:''
       ]

并使用localStorage.setItem('objName')将其保存在浏览器中。现在您可以检索整个阵列。我认为这是您的最佳方法

您可以使用以下命令在localstorage中存储多个值。您还可以以JSON对象的形式存储数据,如下所示:

//Store Values:
localStorage.setItem('someValue','hello');
let user = {name: 'SomeName', email: 'someemail@gmail.com'};
localStorage.setItem('jsonValue',JSON.stringify(user));

//Retrieve the values from localstorage
let temp = localStorage.getItem('someValue'); //temp is hello
let tempJSONString = localStorage.getItem('jsonValue'); 
let tempJSON = JSON.parse(tempJSONString );
//tempJSON.name is SomeName

localStorage不应用于存储项集合。我建议你使用