@holllop

Не приходит в голову алгоритм лучше. Как сделать лучше?

у меня есть кнопка она увеличивает переменную clickCount при каждом нажатии на себя. Переменная clickCount будет находится в диапазоне от 0 до 7 больше не может быть.
и мне нужно следующее. Очищать поля в зависимости от clickCount
я сделал так
if(clickCount == 2){
            elementstypeWorkFirst[0].innerHTML = '';
        }
        if(clickCount == 3){
            elementstypeWorkFirst[0].innerHTML = '';
            elementstypeWorkFirst[1].innerHTML = '';
        }
        if(clickCount == 4){
            elementstypeWorkFirst[0].innerHTML = '';
            elementstypeWorkFirst[1].innerHTML = '';
            elementstypeWorkFirst[2].innerHTML = '';
        }
        if(clickCount == 5){
            elementstypeWorkFirst[0].innerHTML = '';
            elementstypeWorkFirst[1].innerHTML = '';
            elementstypeWorkFirst[2].innerHTML = '';
            elementstypeWorkFirst[3].innerHTML = '';
        }
        if(clickCount == 6){
            elementstypeWorkFirst[0].innerHTML = '';
            elementstypeWorkFirst[1].innerHTML = '';
            elementstypeWorkFirst[2].innerHTML = '';
            elementstypeWorkFirst[3].innerHTML = '';
            elementstypeWorkFirst[4].innerHTML = '';
        }
        if(clickCount == 7){
            elementstypeWorkFirst[0].innerHTML = '';
            elementstypeWorkFirst[1].innerHTML = '';
            elementstypeWorkFirst[2].innerHTML = '';
            elementstypeWorkFirst[3].innerHTML = '';
            elementstypeWorkFirst[4].innerHTML = '';
            elementstypeWorkFirst[5].innerHTML = '';
        }

Но прекрасно понимаю и вижу что это можно сделать лучше, но не чего не приходит в голову
  • Вопрос задан
  • 175 просмотров
Решения вопроса 3
Lynn
@Lynn
nginx, js, css
Откройте для себя циклы.
https://doka.guide/js/loop/
for (let i = 0; i < clickCount - 1; i++) {
    elementstypeWorkFirst[i].innerHTML = '';
}
Ответ написан
Комментировать
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
Ну как минимум цикл в повторяющихся местах:
for (let i = 0; i < clickCount; i++) {
  elementstypeWorkFirst[i].innerHTML = '';
}
Ответ написан
@holllop Автор вопроса
В моём конкретном случае решением будет
if(clickCount > 1){
            for (let i = 2; i <= clickCount; i++) {
                elementstypeWorkFirst[i-2].innerHTML = '';
            }
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы