⊗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. To ж самае можна сказаць і пра 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