JavaScript 제너레이터 탐구: 배열 순환 반복

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 의 제너레이터 (generator) 개념을 살펴보고, 배열을 무한히 반복하는 사이클 제너레이터 (cycle generator) 를 만드는 방법을 배웁니다. yield 키워드와 while 루프를 사용하여 제너레이터를 생성하고, 다양한 배열로 테스트하여 작동 방식을 확인합니다. 이 랩을 마치면 제너레이터에 대한 더 깊은 이해를 얻고, JavaScript 프로젝트에서 제너레이터를 활용하는 방법을 알게 될 것입니다.

사이클 제너레이터 (Cycle Generator) 사용 설명

코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하세요. 그런 다음, 주어진 배열을 무한히 반복하는 제너레이터를 생성합니다. 다음은 단계별 안내입니다.

  1. Generator.prototype.next()가 호출될 때마다 값을 yield하는 종료되지 않는 while 루프를 사용합니다.
  2. 다음 값의 인덱스를 얻기 위해 Array.prototype.length와 모듈 연산자 (%) 를 사용하고, 각 yield 문 뒤에 카운터를 증가시킵니다.

다음은 cycleGenerator 함수의 예시입니다.

const cycleGenerator = function* (arr) {
  let i = 0;
  while (true) {
    yield arr[i % arr.length];
    i++;
  }
};

그런 다음 다음과 같이 함수를 사용할 수 있습니다.

const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }

이 지침을 통해 모든 배열을 무한히 반복하는 사이클 제너레이터를 생성할 수 있습니다.

요약

축하합니다! 사이클 제너레이터 (Cycle Generator) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.