X ve O Değişiminin Analizi

Bu derste size, X ve O değişimini tek satırda nasıl yapacağınızı göstermek istiyorum. Büyük ihtimalle şöyle bir şey yaptınız:

javascriptfunction start(cells) {
  let i = 0; // sayaç başlangıç değeri
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // sayacı artır
    });
  }
}

Ben görevi daha kısa çözmeyi önereceğim. 'Oyuncular' dizimizi yapalım:

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

Gördüğünüz gibi, bu dizide X'in anahtarı 0, O'nun anahtarı ise 1. Aynı şey i % 2 için de söylenebilir - X için kalan 0, O için ise 1 olacaktır.

Yani bu şey anahtar yerine kullanılabilir:

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

console.log(gamers[key]);

Veya daha da kısası:

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

Veya daha da kısası:

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

Şimdi start fonksiyonumuzun kodunu basitleştirelim:

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

Benim koduma bakmadan, kendi başınıza açıklanan düzeltmeyi yapın.

Задание 2

Şu anda herhangi bir hücreye sınırsız sayıda tıklanabilir, örneğin X'i O ile değiştirilebilir. Bunu düzeltin.