ตัวดำเนินการวนซ้ำเป็นรูปแบบการเขียนโปรแกรมทั่วไปที่ใช้สําหรับการไปยังส่วนต่างๆ ของรายการออบเจ็กต์เมื่อ
- ระบบอาจไม่ทราบขนาดของรายการตั้งแต่เริ่มต้น
- การโหลดรายการทั้งหมดลงในหน่วยความจําพร้อมกันอาจใช้ทรัพยากรมากเกินไป
เงื่อนไขเริ่มต้นจะแสดง 2 วิธี ได้แก่ boolean hasNext()
และ Object next()
สคริปต์ Google Ads ใช้รูปแบบ Iterator ในการดึงข้อมูลเอนทิตี Google Ads
ในส่วนของการใช้งาน ตัวดำเนินการวนซ้ำไม่ได้แตกต่างจากอาร์เรย์ปกติมากนัก และสามารถทำให้โค้ดกระชับขึ้น เปรียบเทียบโค้ดที่ไปยังส่วนต่างๆ ของอาร์เรย์
for (var i = 0; i < myArray.length; i++) {
let myObject = myArray[i];
}
โค้ดที่วนผ่านตัวดำเนินการวนซ้ำ
while (myIterator.hasNext()) {
let myObject = myIterator.next();
}
โค้ดต่อไปนี้แสดงการใช้ตัวดำเนินการวนซ้ำกับแคมเปญทั้งหมดในบัญชี
var campaignIterator = AdsApp.campaigns().get();
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
`budget=${campaign.getBudget().getAmount()}`);
}
คุณยังใช้การวนซ้ำ JavaScript ในตัวได้ด้วย โดยทำดังนี้
for (const campaign of AdsApp.campaigns()) {
console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
`budget=${campaign.getBudget().getAmount()}`);
}
การใช้ withLimit()
กับตัวเลือกจะไม่เปลี่ยนค่าของ totalNumEntities()
x
และ y
ในข้อมูลโค้ดต่อไปนี้จะมีค่าเดียวกัน
var x = AdsApp.keywords().get().totalNumEntities();
var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();
หากต้องการรับ Iterator ของเอนทิตี Google Ads คุณต้องสร้างตัวเลือกก่อน