@Johnny_K88

Почему в TODO удаляется сразу по 2 элемента?

Решил написать ToDo List. Возникает ошибка при удалении элементов из массива, отсюда программа, как мне кажется, криво перерисовывает элементы задачи. Получается, что удаляет то два элемента за одно нажатие, то дублирует добавление... Что не так?

ссылка на файлы

https://github.com/Ykalinovskyi/JavaScript.git
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
в рендере во время обхода массива при каком-то текущем значении index
удаляете этот же элемент в deleteEl()
После удаления, выходит, index уже указывает на следующий элемент и не отрисовывает его.

TL&DR не изменять массив изнутри forEach()

Ну и вообще, render() не место для изменения данных. Пусть каждый занимается своим делом: render() только рисует что есть. delete() только удаляет элемент из массива (и вызывает render())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы