इटरेटर

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

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

इटरेटर दो तरीके दिखाते हैं: 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 इकाइयों का इटरेटर पाने के लिए, आपको पहले एक सिलेक्टर बनाना होगा.