繁体   English   中英

javascript循环遍历本地存储以查找元素

[英]javascript looping through local storage to find an element

我正在广泛使用本地存储,这很好,因为它通过在客户端上存储会话来帮助维护状态。 但问题是更新会话时。

我有几个我在json中序列化的对象列表,并且我放入了会话。 对象具有多个属性,包括ID和日期。 在另一点上,我需要遍历这些列表以查明其中一个列表是否包含我正在通过ID查找的对象之一。

我用来存储我的json的密钥包括一个日期; 像这样:

var TheData = JSON.stringify(TheListOfMyObjects);
var SessionKey = 'TheListOfObjectsFor' + TheMonth + "." + TheDay + "." + TheYear;
localStorage.setItem(SessionKey, TheData);

现在我需要检查会话中是否有一个具有特定ID的对象。 我不知道对象的日期属性,只知道它的ID。 我也不知道哪个日期在会话中有值。

我怎么能通过ID找到我的对象? 如果我可以在内存中加载会话以便我可以遍历它,那就太好了。

如果ID在对象内,则需要提取每个localStorage对象,并比较这些字段。

var obj1 = {ID  : "a",  field: 543}
var obj2 = {ID  : "b",  field: 161}
var obj3 = {ID  : "c",  field: 425}


localStorage.setItem("item1", JSON.stringify(obj1));
localStorage.setItem("item2", JSON.stringify(obj2));
localStorage.setItem("item3", JSON.stringify(obj3));


var ID_Needed = "b";

for(var i = 0; i < localStorage.length; i++) {

    var obj = JSON.parse(localStorage.getItem(localStorage.key(i)));

    if(obj.ID == ID_Needed) {
        console.log(obj);
        break;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM