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 में बदला जा सकता है। इसे सही करें।