X va nolning almashinuvini tahlil qilish

Ushbu darsda men sizga X va nolning almashinuvini bitta qator kod bilan qanday amalga oshirishni ko‘rsatmoqchiman. Siz, ehtimol, shunday narsa qilgansiz:

javascriptfunction start(cells) {
  let i = 0; // hisoblagichning boshlang‘ich qiymati
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // hisoblagichni oshiramiz
    });
  }
}

Men masalani qisqaroq echishni taklif qilaman. Keling, o‘zimizning 'o‘yinchilar' massivimizni yaratamiz:

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

Ko‘rib turganingizdek, bu massivda X ning kaliti 0, nolning kaliti esa 1. Xuddi shu narsani i % 2 uchun ham aytish mumkin - X uchun qoldiq 0 bo‘ladi, nol uchun esa - 1.

Ya'ni bu narsani kalit o‘rnida ishlatish mumkin:

javascriptlet gamers = ['X', 'O'];
let key = i % 2;

console.log(gamers[key]);

Yoki yanada qisqaroq:

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

Yoki yanada qisqaroq:

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

Keling, endi start funksiyamiz kodini soddalashtiramiz:

javascriptfunction start(cells) {
  let i = 0;
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      this.textContent = ['X', 'O'][i % 2];
      i++;
    });
  }
}
Задание 1

Mustaqil ravishda, mening kodimga qaramay, ta'riflangan o‘zgartirishlarni kiriting.

Задание 2

Hozir istalgan katakchaga cheklanmagan miqdorda klik qilish mumkin, masalan, X ni nolga o‘zgartirish. Buni tuzating.