Itérateurs

Les itérateurs représentent un schéma de programmation couramment utilisé pour parcourir une liste d'objets lorsque

  • la taille de la liste n'est peut-être pas connue dès le départ ;
  • Charger en mémoire toute la liste en une seule fois peut s'avérer trop important très intensifs.

Les itérateurs exposent deux méthodes: boolean hasNext() et Object next(). Les scripts Google Ads utilisent le schéma d'itérateur pour extraire les entités Google Ads.

D'un point de vue fonctionnel, les itérateurs ne sont pas trop différents des tableaux standards et peuvent votre code plus concis. Comparez le code qui parcourt un tableau :

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

au code qui parcourt un itérateur :

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

Le code suivant illustre l'utilisation d'un itérateur dans toutes les campagnes de votre compte:

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

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

Vous pouvez également utiliser l'itération JavaScript intégrée:

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

L'application de withLimit() à un sélecteur ne modifie pas la valeur de totalNumEntities() Dans l'extrait suivant, x et y auront le même :

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

Pour obtenir un itérateur d'entités Google Ads, vous devez construire un Sélecteur.