Iterator
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
반복자는 다음 경우에 객체 목록을 순회하는 데 사용되는 일반적인 프로그래밍 패턴입니다.
- 시작부터 목록의 크기를 알지 못하는 경우
- 전체 목록을 한 번에 메모리에 로드하면 리소스가 너무 많이 사용될 수 있습니다.
반복자는 boolean hasNext()
및 Object next()
의 두 메서드를 노출합니다.
Google Ads 스크립트는 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();
Google Ads 항목의 반복자를 가져오려면 먼저 선택기를 구성해야 합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-10(UTC)
[null,null,["최종 업데이트: 2025-09-10(UTC)"],[[["\u003cp\u003eIterators in Google Ads scripts are used to efficiently process lists of objects, especially when dealing with large or unknown-sized datasets, by fetching entities one at a time.\u003c/p\u003e\n"],["\u003cp\u003eThey offer two primary methods, \u003ccode\u003ehasNext()\u003c/code\u003e to check for more items and \u003ccode\u003enext()\u003c/code\u003e to retrieve the next item, similar to how arrays are traversed but without loading the entire list into memory.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Ads scripts utilize the Iterator pattern for accessing and manipulating various Google Ads entities like campaigns, allowing for streamlined processing and resource management.\u003c/p\u003e\n"],["\u003cp\u003eWhile applying \u003ccode\u003ewithLimit()\u003c/code\u003e to a selector constrains the number of fetched entities, it doesn't affect the overall count obtained via \u003ccode\u003etotalNumEntities()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo retrieve an Iterator of Google Ads objects, you first need to define a Selector that specifies the desired entities and their properties.\u003c/p\u003e\n"]]],[],null,["Iterators are a common programming pattern used for traversing a list of objects\nwhen\n\n- The size of the list may not be known from the start.\n- Loading the entire list into memory at once may prove overly resource intensive.\n\nIterators expose two methods: `boolean hasNext()` and `Object next()`.\nGoogle Ads scripts use the Iterator pattern for fetching Google Ads entities.\n\nFunctionally, iterators are not too different from regular arrays, and can make\nyour code more concise. Compare the code that traverses an array: \n\n for (var i = 0; i \u003c myArray.length; i++) {\n let myObject = myArray[i];\n }\n\nwith code that traverses an iterator: \n\n while (myIterator.hasNext()) {\n let myObject = myIterator.next();\n }\n\nThe following code demonstrates the usage of an iterator over all Search and\nDisplay campaigns in your account: \n\n var campaignIterator = AdsApp.campaigns().get();\n\n while (campaignIterator.hasNext()) {\n let campaign = campaignIterator.next();\n console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +\n `budget=${campaign.getBudget().getAmount()}`);\n }\n\nYou can also use built-in JavaScript iteration: \n\n for (const campaign of AdsApp.campaigns()) {\n console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +\n `budget=${campaign.getBudget().getAmount()}`);\n }\n\nApplication of `withLimit()` to a selector does not change the value of\n`totalNumEntities()`. `x` and `y` in the following snippet will have the same\nvalue: \n\n var x = AdsApp.keywords().get().totalNumEntities();\n var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();\n\nIn order to obtain an Iterator of Google Ads entities, you must construct a\n[Selector](/google-ads/scripts/docs/concepts/selectors) first."]]