Iterator

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

  • Ukuran daftar mungkin tidak diketahui dari awal.
  • Memuat seluruh daftar ke dalam memori sekaligus dapat terbukti terlalu menghabiskan resource.

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

Secara fungsi, iterator tidak terlalu berbeda dengan array reguler, 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 pada semua kampanye 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 entitas Google Ads, Anda harus membuat Pemilih terlebih dahulu.