Анализа на наизменичната употреба на X и O

Во оваа лекција сакам да ви покажам како да ја направите наизменичната употреба на X и O во една линија код. Најверојатно сте направиле нешто вакво:

javascriptfunction start(cells) {
  let i = 0; // почетна вредност на бројачот
  
  for (let cell of cells) {
    cell.addEventListener('click', function() {
      if (i % 2 == 0) {
        this.textContent = 'X';
      } else {
        this.textContent = '0';
      }
      
      i++; // го зголемуваме бројачот
    });
  }
}

Јас ќе предложам да се реши задачата пократко. Ајде да направиме низа од нашите 'играчи':

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

Како што можете да видите, во оваа низа X има клуч 0, а O - клуч 1. Истото може да се каже и за i % 2 - за X остатокот ќе биде 0, а за O - 1.

Односно, ова нешто може да се користи наместо клуч:

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

console.log(gamers[key]);

Или уште пократко:

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

Или уште пократко:

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

Сега да го поедноставиме кодот на нашата функција start:

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

Самостојно, без да го гледате мојот код, внесете ја опишаната измена.

Задание 2

Моментално на кое било поле може да се направи неограничен број кликови, менувајќи, на пример, X во O. Поправете го ова.