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 dapat terbukti terlalu boros 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 dengan 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 pada 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 Pemilih terlebih dahulu.