Попробуйте что-нибудь подобное. ..
if (newTask.done === false) {
newTask = doneArray.push({
id: doneArray.length,
description: clickedTask.textContent,
done: false
});
} else {
for(let i = 0; i < doneArray.length; ++i){
if(doneArray[i].id == newTask.id)
removeTask = doneArray.splice(i, 1);
break;
}
} };
Однако при каждом удалении объекта из массива длина должна уменьшаться, что приводит к появлению нескольких объектов с одинаковым идентификатором. это означает, что вам придется решить сделать первую операцию удаления или удалить все операции для массива. Я бы использовал другой идентификатор, например, счетчик, который всегда увеличивается, если только он не является намеренным.
edit-- это также может быть просто длина начинается с 1, а индекс массива начинается с 0. Поэтому вы должны учитывать это, если удаляется неправильное число.