Trình lặp lại là một mẫu lập trình phổ biến được dùng để duyệt qua danh sách các đối tượng khi
- Bạn có thể không biết kích thước của danh sách ngay từ đầu.
- Việc tải toàn bộ danh sách vào bộ nhớ cùng một lúc có thể tốn quá nhiều tài nguyên.
Trình lặp lại có 2 phương thức: boolean hasNext()
và Object next()
.
Tập lệnh Google Ads sử dụng mẫu Trình lặp để tìm nạp các thực thể Google Ads.
Về chức năng, các trình lặp không khác biệt nhiều so với các mảng thông thường và có thể giúp mã của bạn ngắn gọn hơn. So sánh mã duyệt qua một mảng:
for (var i = 0; i < myArray.length; i++) {
let myObject = myArray[i];
}
với mã duyệt qua một trình lặp:
while (myIterator.hasNext()) {
let myObject = myIterator.next();
}
Đoạn mã sau đây minh hoạ cách sử dụng một trình lặp trên tất cả chiến dịch Tìm kiếm và chiến dịch Hiển thị trong tài khoản của bạn:
var campaignIterator = AdsApp.campaigns().get();
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
`budget=${campaign.getBudget().getAmount()}`);
}
Bạn cũng có thể dùng tính năng lặp lại JavaScript tích hợp:
for (const campaign of AdsApp.campaigns()) {
console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
`budget=${campaign.getBudget().getAmount()}`);
}
Việc áp dụng withLimit()
cho bộ chọn không làm thay đổi giá trị của totalNumEntities()
. x
và y
trong đoạn mã sau sẽ có cùng giá trị:
var x = AdsApp.keywords().get().totalNumEntities();
var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();
Để lấy một Trình lặp của các thực thể Google Ads, trước tiên, bạn phải tạo một Bộ chọn.