Biến lặp

Biến lặp là một mẫu lập trình phổ biến dùng để truyền tải danh sách đối tượng khi

  • Ngay từ đầu, bạn có thể không xác định được kích thước của danh sách này.
  • Việc tải toàn bộ danh sách vào bộ nhớ cùng một lúc có thể sẽ tốn quá nhiều tài nguyên.

Trình lặp này cung cấp 2 phương thức: boolean hasNext()Object next(). Tập lệnh Google Ads sử dụng mẫu Iterator để tìm nạp các thực thể Google Ads.

Về mặt chức năng, các biến lặp không quá khác 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ã truyền tải một mảng:

for (var i = 0; i < myArray.length; i++) {
  let myObject = myArray[i];
}

có mã truyền qua một biến lặp:

while (myIterator.hasNext()) {
  let myObject = myIterator.next();
}

Mã sau đây minh hoạ cách sử dụng một trình lặp trên tất cả các chiến dịch 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ể sử dụng vòng lặp JavaScript được tích hợp sẵn:

for (const campaign of AdsApp.campaigns()) {
  console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
      `budget=${campaign.getBudget().getAmount()}`);
}

Việc áp dụng withLimit() vào bộ chọn không thay đổi giá trị của totalNumEntities(). xy trong đoạn mã sau đây sẽ có cùng giá trị:

var x = AdsApp.keywords().get().totalNumEntities();
var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();

Để có được 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.