【问题标题】:Simple localStorage Refreshing Code Not Working简单的 localStorage 刷新代码不起作用
【发布时间】:2021-03-10 17:48:08
【问题描述】:

代码应该如下运行:第一次打开页面时,应该记录数组“arr”。刷新页面后,数组将记录一个新项目。最终输出应以...形式记录到控制台

0、1、2
0、1、2、3
0、1、2、3、4
0、1、2、3、4、5

我在下面的代码中留下了空白的 if 语句,它们的用途在上面描述。如果有人对如何使用“localStorage + refresh”方法实现此输出有任何想法,我将不胜感激。

<!DOCTYPE html>
<html>
    <body>
        <script>
            //This should prevent arr from being defined every time the page is refreshed.
            if (blank) {
                var arr = [0, 1, 2];
            }
            
            //This statement shouldn't run until the page has run at least once.
            if ((arr.length <= 5)&&(blank)) {
                //Logs arr.
                console.log(arr);
                
                //This adds to the end of arr.
                arr.push((JSON.parse(localStorage.getItem("savedArr"))).length);
            }
        
            //This updates "savedArr".
            localStorage.setItem("savedArr", JSON.stringify(arr));
        </script>
    </body>
</html>

【问题讨论】:

    标签: javascript html json local-storage


    【解决方案1】:

    下面的代码完全按照我的意愿工作:

    var arr = ((((JSON.parse(localStorage.getItem("savedArr"))).length !== 6)&&(localStorage.getItem("savedArr") !== null)) ? JSON.parse(localStorage.getItem("savedArr")) : [0,1,2]);
            
            if ((localStorage.getItem("savedArr") !== null) && (((JSON.parse(localStorage.getItem("savedArr"))).length) <= 5)) {
                arr.push((JSON.parse(localStorage.getItem("savedArr"))).length);
            }
            
            console.log(arr);
            localStorage.setItem("savedArr", JSON.stringify(arr));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多