⊗jsPrTTTCTAA 44 of 62 menu

Analisi dell'alternanza tra X e O

In questa lezione voglio mostrarti come realizzare l'alternanza tra X e O in una sola riga. Probabilmente, hai fatto qualcosa del genere:

function start(cells) { let i = 0; // valore iniziale del contatore for (let cell of cells) { cell.addEventListener('click', function() { if (i % 2 == 0) { this.textContent = 'X'; } else { this.textContent = '0'; } i++; // incrementa il contatore }); } }

Io propongo di risolvere il problema in modo più breve. Creiamo un array dei nostri 'giocatori':

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

Come puoi vedere, in questo array la X ha chiave 0, e lo O - chiave 1. La stessa cosa si può dire per i % 2 - per la X il resto sarà 0, e per lo O - 1.

Cioè questa espressione può essere usata al posto della chiave:

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

O ancora più breve:

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

O ancora più breve:

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

Semplifichiamo ora il codice della nostra funzione start:

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

In autonomia, senza guardare il mio codice, apporta la modifica descritta.

Attualmente su qualsiasi cella si possono fare un numero illimitato di click, cambiando, ad esempio, la X in O. Correggi questo comportamento.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta