إنّ الدوالّ المتكرّرة هي نمط برمجة شائع يُستخدَم للتنقّل في قائمة من العناصر عند
- قد لا يكون حجم القائمة معروفًا من البداية.
- قد يتسبب تحميل القائمة بأكملها في الذاكرة في وقت واحد في استخدام موارد مفرط.
تعرِض أدوات التنقّل طريقتَين: boolean hasNext()
وObject next()
.
تستخدِم نصوص "إعلانات Google" البرمجية نمط المكرّر لجلب كيانات "إعلانات Google".
من الناحية الوظيفية، لا تختلف الدوالّ المتكرّرة كثيرًا عن الصفائف العادية، ويمكنها جعل الرمز البرمجي أكثر إيجازًا. قارِن الرمز الذي ينتقل في صفيف:
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();
للحصول على أداة تكرار لكيانات "إعلانات Google"، عليك إنشاء أداة اختيار أولاً.