对于每个不循环访问从本地存储读取的阵列

收到一条错误消息,指出“taskOutput 不可迭代”。数组如下所示:


const taskOutput = JSON.parse(window.localStorage.getItem("taskList")) || [];

循环如下所示:


 for (const task of taskOutput) {

        const taskEl = document.createElement("div");

        const {participant, duetime, description} = task;


        // PROGRESSION-BAR

        let newDiv = document.createElement("div"); 

        let newBtn = document.createElement("button");

        let btnText = document.createTextNode("Fullfør");

        newBtn.appendChild(btnText);


        newDiv.style.border = "3px solid black";

        newDiv.style.height = "10px";

        newDiv.style.backgroundColor = task.color; 


        newBtn.onclick = function() {

            if(task.color === "red"){

                task.color = "green"; 

                localStorage.setItem('taskList', JSON.stringify(taskOutput)); 


            }

            else if(task.color === "green"){

                task.color = "red"; 

                localStorage.setItem('taskList', JSON.stringify(taskOutput)); 

                newDiv.style.backgroundColor = task.color; 

            }

        }


慕妹3242003
浏览 61回答 1
1回答

德玛西亚99

的...of 语句创建一个循环,迭代可迭代对象,包括:内置字符串、数组、类似数组的对象。您的任务输出在解析后从本地存储检索时是一个对象;使用循环不可迭代for of尝试将代码更新为:const taskList = JSON.parse(window.localStorage.getItem("taskList")) const taskOutput = taskList ? [taskList] : [];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript