首页 > 解决方案 > 如何从 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);

我正在通过函数从本地存储中检索并下载文件。

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();
}

我可以在浏览器中看到 key(firstRecord,secRocord) 和对应的值。我只能检索第一个键,即 localstorage.firstRecord.... 我也想检索第二个键和值,即 localstorage.secondRecord。

你能建议我吗?

标签: javascriptlocal-storage

解决方案


只需像这样创建一个对象数组:

  arr=[
       obj1:'',
       .
       .
       .
       obj2:''
       ]

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


推荐阅读