Analisis Penjujukan Giliran X dan O
Dalam pelajaran ini, saya ingin menunjukkan kepada anda cara membuat penjujukan giliran X dan O dalam satu baris kod. Anda mungkin telah membuat sesuatu seperti ini:
function start(cells) {
let i = 0; // nilai pembilang permulaan
for (let cell of cells) {
cell.addEventListener('click', function() {
if (i % 2 == 0) {
this.textContent = 'X';
} else {
this.textContent = '0';
}
i++; // tingkatkan pembilang
});
}
}
Saya cadangkan menyelesaikan masalah ini dengan lebih ringkas. Mari buat
array 'pemain' kita:
let gamers = ['X', 'O'];
Seperti yang anda lihat, dalam array ini, X mempunyai
kunci 0, dan O - kunci 1. Perkara
yang sama boleh dikatakan tentang i % 2
- untuk X, bakinya ialah 0, dan
untuk O - 1.
Maksudnya, ini boleh digunakan sebagai ganti kunci:
let gamers = ['X', 'O'];
let key = i % 2;
console.log(gamers[key]);
Atau lebih ringkas:
let gamers = ['X', 'O'];
console.log(gamers[i % 2]);
Atau lebih ringkas lagi:
console.log(['X', 'O'][i % 2]);
Sekarang mari permudahkan kod fungsi start kita:
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function() {
this.textContent = ['X', 'O'][i % 2];
i++;
});
}
}
Secara berdikari, tanpa melihat kod saya, masukkan pembetulan yang diterangkan.
Sekarang, sebarang sel boleh diklik secara tidak terhad dan menukar, contohnya, X kepada O. Betulkan ini.