Analyse av veksling mellom X og O

I denne leksjonen vil jeg vise deg hvordan du gjør veksling mellom X og O i én kodelinje. Du har sannsynligvis gjort noe slik:

javascriptfunction start(cells) {
  let i = 0; // startverdi for teller
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // øker telleren
    });
  }
}

Jeg foreslår å løse oppgaven kortere. La oss lage en array med våre 'spillere':

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

Som du ser, i denne arrayen har X nøkkelen 0, og O - nøkkelen 1. Det samme kan sies om i % 2 - for X vil resten være 0, og for O - 1.

Det betyr at vi kan bruke denne i stedet for nøkkel:

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

console.log(gamers[key]);

Eller enda kortere:

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

Eller enda kortere:

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

La oss forenkle koden til funksjonen start nå:

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

Uavhengig, uten å kikke på koden min, utfør den beskrevne endringen.

Задание 2

For øyeblikket kan man gjøre et ubegrenset antall klikk på en hvilken som helst celle, og for eksempel endre X til O. Fiks dette.