⊗jsPrTTTCTAA 44 of 62 menu

Дөңгелек және крестік кезектесуін талдау

Бұл сабақта мен сізге дөңгелек және крестік кезектесуін бір жол кодпен қалай жасау керектігін көрсеткім келеді. Сіз бәлкіме, мынаған ұқсас нәрсе жасадыңыз:

function start(cells) { let i = 0; // есептегіштің бастапқы мәні for (let cell of cells) { cell.addEventListener('click', function() { if (i % 2 == 0) { this.textContent = 'X'; } else { this.textContent = '0'; } i++; // есептегішті арттырамыз }); } }

Мен мәселені қысқарақ шешуді ұсынамын. Өз ойыншыларымыздың массивін жасайық:

let gamers = ['X', 'O'];

Көріп отырғаныңыздай, бұл массивте крестіктің кілті 0, ал дөңгелектің кілті 1. i % 2 туралы да солай айтуға болады - крестік үшін қалдық 0 болады, ал дөңгелек үшін - 1.

Яғни, бұл нәрсені кілт орнына пайдалануға болады:

let gamers = ['X', 'O']; let key = i % 2; console.log(gamers[key]);

Немесе одан да қысқа:

let gamers = ['X', 'O']; console.log(gamers[i % 2]);

Немесе одан да қысқа:

console.log(['X', 'O'][i % 2]);

Енді start функциямыздың кодын жеңілдетейік:

function start(cells) { let i = 0; for (let cell of cells) { cell.addEventListener('click', function() { this.textContent = ['X', 'O'][i % 2]; i++; }); } }

Өздігінізше, менің кодымға қарамастан, сипатталған түзетуді енгізіңіз.

Қазір кез келген ұяшықта шектеусіз басу жасауға болады, мысалы, крестікті дөңгелекке ауыстырады. Мұны түзетіңіз.

azbydeenesfrkakkptruuz