如何以编程方式设置具有递增值的 localStorage?

How to programmatically set a localStorage with increasing values?

我想要以编程方式定义 localStorage。我在其中有一组值只是想让 localStorage 接受它并定义新的存储。就像单击按钮一样,它应该使用数组中的值将 localStorage 定义为 'session 0',如果我第二次单击它,它应该将另一个 localStorage 定义为 'session 1'。但是在我关闭 window 并打开它并单击按钮后,新的 localStorage 应该像 'session 2' 一样继续,而不是从 0 开始。

并且它应该检查之前的 localStorage 是否有值。就像我定义 'session 3' 它应该检查 'session 2' 是否存在并且有一个值。

但是我要克服的问题是在我关闭 window 并启动进程后,如果从 0 开始并重新定义首先声明的存储,则 localStorage 不会从它离开的地方开始。

Fakearr 由值组成。

这是我试过的。

for (let i = 0; i <= fakearr.length; i++) {
                        if (
                            (localStorage.getItem(`session ${i}`) == null &&
                                localStorage.getItem(`session ${i - 1}`).length >= 0) ||
                            localStorage.length == 0
                        ) {
                            localStorage.setItem(`session ${i}`, JSON.stringify(fakearr[i]));
                        }
                    }

像这样的事情怎么样:

function maxSessionID(){
    let i = 0;
    while (localStorage.getItem(`session${i}`) !== null ) {
        i++;
    }
    return i;
}

for (let i = 0; i < fakearr.length; i++) {
    localStorage.setItem(`session${maxSessionID()+1}`, JSON.stringify.fakearr[i]);
}

在添加来自 fakearr 的每个项目之前,会检查最高 ID 编号 sessionID,因此当 ID 中存在漏洞时,这不会替换现有会话(在 session0 的情况下) , session2, session3。它添加 session1 然后从 session4)

继续