访问本地存储中的列表元素

access elements of a list in local storage

本文关键字:列表元素 存储 访问      更新时间:2023-09-26

有这样一个列表:

 var names_Array = [];
 var names_List = new WinJS.Binding.List(names_Array);

我将下列内容放入列表:

names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" });
names_List.push({ name: "Esteban Flamenco ", image: "image/Esteban Flamenco.png", ClientID: "6666" });

然后在本地存储中设置列表,如下所示:

window.localStorage.setItem('names_List', names_List);

最后我得到了项目如下:

  var test = window.localStorage.getItem('names_List');
  console.log(test);

我希望能够在控制台中打印列表的元素。有人能指点我一下吗?我试过使用names_List.getAt(index)方法,但无济于事。

这里肯定会有点乱,因为localStorage只存储字符串。任何其他类型的对象都将被转换为字符串。因此,您可能会得到类似[object Object],[object Object],[object Object],[object Object]的内容,即对象数组被转换为字符串的结果。

最好的方法是使用JSON。

window.localStorage.setItem('names_List', JSON.stringify(names_List));
var test = JSON.parse(window.localStorage.getItem('names_List'));

以更有意义的方式将对象转换为字符串,因此您将保留您的结构。