Iterator

Iterator adalah pola pemrograman umum yang digunakan untuk melintasi daftar objek saat

  • Ukuran daftar mungkin tidak diketahui sejak awal.
  • Memuat seluruh daftar ke dalam memori sekaligus mungkin akan menghabiskan terlalu banyak resource.

Iterator mengekspos dua metode: boolean hasNext() dan Object next(). Skrip Google Ads menggunakan pola Iterator untuk mengambil entity Google Ads.

Secara fungsional, iterator tidak terlalu berbeda dari array biasa, dan dapat membuat kode Anda lebih ringkas. Bandingkan kode yang melintasi array:

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

dengan kode yang melintasi iterator:

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

Kode berikut menunjukkan penggunaan iterator di semua kampanye Penelusuran dan Display di akun Anda:

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

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

Anda juga dapat menggunakan iterasi JavaScript bawaan:

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

Penerapan withLimit() ke pemilih tidak mengubah nilai totalNumEntities(). x dan y dalam cuplikan berikut akan memiliki nilai yang sama:

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

Untuk mendapatkan Iterator entity Google Ads, Anda harus membuat Selector terlebih dahulu.