इटरेटर

इटरेटर, प्रोग्रामिंग का एक सामान्य पैटर्न है. इसका इस्तेमाल ऑब्जेक्ट की सूची को ट्रैवर्स करने के लिए किया जाता है

  • ऐसा हो सकता है कि सूची का साइज़ शुरू से ही पता न हो.
  • पूरी सूची को एक साथ मेमोरी में लोड करने से, ज़्यादा संसाधनों का इस्तेमाल हो सकता है.

इटरेटर, दो तरीके उपलब्ध कराते हैं: boolean hasNext() और Object next(). Google Ads स्क्रिप्ट, Google Ads इकाइयों को फ़ेच करने के लिए इटरेटर पैटर्न का इस्तेमाल करती हैं.

काम के हिसाब से, इटरेटर सामान्य ऐरे से ज़्यादा अलग नहीं होते. साथ ही, ये आपके कोड को छोटा बना सकते हैं. ऐरे को ट्रैवर्स करने वाले कोड की तुलना करें:

for (var i = 0; i < myArray.length; i++) {
  let myObject = myArray[i];
}

इटररेटर को ट्रैवर्स करने वाले कोड के साथ:

while (myIterator.hasNext()) {
  let myObject = myIterator.next();
}

यहां दिए गए कोड में, आपके खाते में मौजूद सभी सर्च और डिसप्ले कैंपेन के लिए, इटरेटर का इस्तेमाल करने का तरीका बताया गया है:

var campaignIterator = AdsApp.campaigns().get();

while (campaignIterator.hasNext()) {
  let campaign = campaignIterator.next();
  console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
      `budget=${campaign.getBudget().getAmount()}`);
}

पहले से मौजूद JavaScript इटरेशन का भी इस्तेमाल किया जा सकता है:

for (const campaign of AdsApp.campaigns()) {
  console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
      `budget=${campaign.getBudget().getAmount()}`);
}

किसी सिलेक्टर पर withLimit() लागू करने से, totalNumEntities() की वैल्यू में कोई बदलाव नहीं होता. नीचे दिए गए स्निपेट में, x और y की वैल्यू एक जैसी होगी:

var x = AdsApp.keywords().get().totalNumEntities();
var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();

Google Ads की इकाइयों का इटरेटर पाने के लिए, आपको सबसे पहले चुनने वाला टूल बनाना होगा.