在HTML5和JavaScript中循环通过localStorage

前端之家收集整理的这篇文章主要介绍了在HTML5和JavaScript中循环通过localStorage前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以,我想我可以循环通过localStorage像一个普通的对象,因为它有一个长度。我如何循环通过这?
localStorage.setItem(1,'Lorem');
localStorage.setItem(2,'Ipsum');
localStorage.setItem(3,'Dolor');

如果我做一个localStorage.length它返回3这是正确的。所以我假设一个for循环将工作。

我在想像:

for (x in localStorage){
    $('body').append(localStorage[x]);
}

但没有效果。有任何想法吗?

另一个想法,我是一个像

localStorage.setItem(1,'Lorem|Ipsum|Dolor')
var split_list = localStorage.getItem(1).split('|');

在其中for … in在工作。

解决方法

您可以使用 key方法。 localStorage.key(index)返回indexth键(顺序是实现定义的,但是常数,直到添加删除键)。
for (var i = 0; i < localStorage.length; i++){
    $('body').append(localStorage.getItem(localStorage.key(i)));
}

如果顺序很重要,你可以存储一个JSON序列化的数组:

localStorage.setItem("words",JSON.stringify(["Lorem","Ipsum","Dolor"]));

草案规范声称任何支持structured clone的对象都可以是值。但这似乎并不支持

编辑:要加载数组,添加到它,然后存储:

var words = JSON.parse(localStorage.getItem("words"));
words.push("hello");
localStorage.setItem("words",JSON.stringify(words));
原文链接:https://www.f2er.com/html5/170059.html

猜你在找的HTML5相关文章