โปรแกรมซ้ํา

Iterator เป็นรูปแบบการเขียนโปรแกรมทั่วไปที่ใช้ในการข้ามรายการออบเจ็กต์ เมื่อ

  • คุณอาจไม่ทราบขนาดของรายการตั้งแต่แรก
  • การโหลดทั้งรายการลงในหน่วยความจำพร้อมกันอาจใช้ทรัพยากรมากเกินไป

Iterator มี 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();
}

โค้ดต่อไปนี้แสดงการใช้ตัววนซ้ำในแคมเปญ Search และ Display ทั้งหมดในบัญชี

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 คุณต้องสร้างตัวเลือกก่อน