Iterator adalah pola pemrograman umum yang digunakan untuk menjelajahi daftar objek saat
- Ukuran daftar mungkin tidak diketahui sejak awal.
- Memuat seluruh daftar ke dalam memori sekaligus mungkin memerlukan terlalu banyak resource.
Iterator mengekspos dua metode: boolean hasNext()
dan Object next()
.
Skrip Google Ads menggunakan pola Iterator untuk mengambil entitas Google Ads.
Secara fungsional, iterator tidak terlalu berbeda dengan array reguler, dan dapat membuat kode Anda lebih ringkas. Bandingkan kode yang menelusuri array:
for (var i = 0; i < myArray.length; i++) {
let myObject = myArray[i];
}
dengan kode yang menelusuri iterator:
while (myIterator.hasNext()) {
let myObject = myIterator.next();
}
Kode berikut menunjukkan penggunaan iterator di 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 entity Google Ads, Anda harus membuat Selector terlebih dahulu.