Для каждого l oop без итерации по массиву, который читается из локального хранилища - PullRequest
1 голос
/ 26 мая 2020

Получение сообщения об ошибке, что «taskOutput не повторяется». Массив выглядит так:

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

l oop выглядит так:

 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; 
            }
        }

1 Ответ

2 голосов
/ 26 мая 2020

Оператор for ... of создает al oop итерацию по итерируемым объектам, включая: встроенные String, Array, объекты, подобные массиву.

Ваш taskOuput является объектом при извлечении из localStorage после парсинг; который не повторяется с помощью for of l oop

Попробуйте обновить код до этого,

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