Как написать этот код в одном цикле?

const elem = document.querySelectorAll('.miban');
for (let i = 0; i < elem.length; i++) {
    elem[i].addEventListener('click', function () {
        for (let x = 0; x < elem.length; x++) {
            elem[x].style.background = 'black';
        }
        elem[i].style.background = 'red';
    })
}

Ответы (1 шт):

Автор решения: IvaMuxa

const elem = document.querySelectorAll('.miban');
var red_elem;
for (let i = 0; i < elem.length; i++) {
    elem[i].addEventListener('click', function () {
        if(red_elem)  red_elem.classList.remove("red");
        red_elem = elem[i];
        elem[i].classList.add("red");
    })
}
.red{
   background:red;
}
<div class="miban">1</div>
<div class="miban">2</div>
<div class="miban">3</div>
<div class="miban">4</div>

→ Ссылка