Javascript 从本地存储中获取项目

Javascript 从本地存储中获取项目,javascript,arrays,local-storage,Javascript,Arrays,Local Storage,我试图在本地存储器中插入一些值。你需要了解细节。但是我不能按照要求得到数据 console.log("saving data to local storage") var newItem = { title: $('#title').val(), description: $('#description').val() } if (localStorage.getItem("newData"

我试图在本地存储器中插入一些值。你需要了解细节。但是我不能按照要求得到数据

console.log("saving data to local storage")
      var newItem = {
        title: $('#title').val(),
        description: $('#description').val()
      }
      if (localStorage.getItem("newData") === null) {
        localStorage.setItem("newData", JSON.stringify(newItem));
      }
      else {
        var oldItems = JSON.parse(localStorage.getItem('newData')) || [];
        oldItems.push(newItem);
        localStorage.setItem('newData', JSON.stringify(oldItems));
      }
在这里我保存了本地存储数据,然后我需要获取每个细节

这是我保存的本地存储数据

[{"title":"e2","description":"e2"},{"title":"a2","description":"a2"},{"title":"r2","description":"r2"},{"title":"y2","description":"y2"}]
我需要获取每个数据,我尝试了这种方法。但是没有得到细节

var newArr = window.localStorage.getItem('newData');
for (var i = 0, len = newArr.length; i < len; i++) {
  savedPerson = JSON.parse(newArr[i]);
  console.log(savedPerson)
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}
var newArr=window.localStorage.getItem('newData');
对于(变量i=0,len=newArr.length;i

如何执行此操作这将使您基本了解如何检索JSON数据:

// READ STRING FROM LOCAL STORAGE
var retrievedObject = localStorage.getItem('newData');

// CONVERT STRING TO REGULAR JS OBJECT
var parsedObject = JSON.parse(retrievedObject);

// ACCESS DATA
for (var i = 0, len = parsedObject.length; i < len; i++) {
  savedPerson = parsedObject[i]
  console.log(savedPerson)
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}
//从本地存储器读取字符串
var retrievedObject=localStorage.getItem('newData');
//将字符串转换为常规JS对象
var parsedObject=JSON.parse(retrievedObject);
//访问数据
for(var i=0,len=parsedObject.length;i
代码的后面部分出错。请检查这个代码

console.log("getting data from local storage");

var newArr = JSON.parse(window.localStorage.getItem('newData'));

for (var i = 0; i < newArr.length; i++) {
  var savedPerson = newArr[i];
  console.log(savedPerson);
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}
console.log(“从本地存储器获取数据”);
var newArr=JSON.parse(window.localStorage.getItem('newData'));
对于(变量i=0;i
将newItem设置为对象,并调用
localStorage.setItem(“newData”,JSON.stringify(newItem))保存它

然后
var oldItems=JSON.parse(localStorage.getItem('newData'))
将返回一个字符串,但该字符串没有push方法

您可以创建一个数组,并将对象添加到其中。然后可以迭代对象数组

例如

var newItem = {
    title: $('#title').val(),
    description: $('#description').val()
}

if (localStorage.getItem("newData") === null) {
    localStorage.setItem("newData", JSON.stringify([newItem]));
} else {
    var oldItems = JSON.parse(localStorage.getItem('newData'));
    oldItems.push(newItem);
    localStorage.setItem('newData', JSON.stringify(oldItems));
}

var newArr = JSON.parse(window.localStorage.getItem('newData'));

for (var i = 0, len = newArr.length; i < len; i++) {
    var savedPerson = newArr[i];
    console.log(savedPerson)
    console.log(savedPerson.title)
    console.log(savedPerson.description)
}
var newItem={
标题:$('#title').val(),
description:$('#description').val()
}
if(localStorage.getItem(“newData”)==null){
setItem(“newData”,JSON.stringify([newItem]);
}否则{
var oldItems=JSON.parse(localStorage.getItem('newData'));
oldItems.push(newItem);
localStorage.setItem('newData',JSON.stringify(oldItems));
}
var newArr=JSON.parse(window.localStorage.getItem('newData'));
对于(变量i=0,len=newArr.length;i
您必须解析
newArr
,然后您的代码才能工作。是的,理解它谢谢:)。。我认为在这段代码中不需要编写parsedObject.items.length,它显示错误。。parsedObject.length是必需的。你说得对。我已经编辑了我的代码。