>웹 프론트엔드 >프런트엔드 Q&A >JavaScript의 반복자와 반복성은 무엇입니까?

JavaScript의 반복자와 반복성은 무엇입니까?

Robert Michael Kim
Robert Michael Kim원래의
2025-03-18 13:51:32342검색

JavaScript의 반복자와 반복성은 무엇입니까?

JavaScript에서 반복자와 반복은 배열, 문자열 및보다 복잡한 데이터 구조와 같은 데이터 수집을 가로 지르는 데 사용되는 기본 개념입니다.

반복은 반복 할 수있는 객체입니다. 즉, 요소를 하나씩 통과 할 수 있습니다. JavaScript의 반복 가능한 것은 @@iterator 메소드를 구현해야하며, 종종 Symbol.iterator 로 상징됩니다. 호출되면이 메소드는 객체의 반복기를 반환해야합니다.

예를 들어, 배열 및 문자열은 JavaScript의 반복적 인 INLEABLE입니다. 당신은 이들에 직접 루프 for...of 사용하여 그들의 요소를 반복 할 수 있습니다.

 <code class="javascript">const array = [1, 2, 3, 4, 5]; for (const value of array) { console.log(value); // Outputs: 1, 2, 3, 4, 5 }</code>

반면에 반복자는 반복 할 수있는 반복의 위치를 ​​추적하는 물체입니다. 반복자 객체에는 next() 메소드가 있어야하는데, 이는 두 가지 속성이있는 객체를 반환해야합니다. value 은 순서의 다음 값이며 반복이 done 되었는지 여부를 나타내는 부울입니다.

다음과 같은 반복자를 수동으로 사용할 수 있습니다.

 <code class="javascript">const array = [1, 2, 3, 4, 5]; const iterator = array[Symbol.iterator](); console.log(iterator.next()); // { value: 1, done: false } console.log(iterator.next()); // { value: 2, done: false } console.log(iterator.next()); // { value: 3, done: false }</code>

이 두 개념의 구별을 이해하는 것은 JavaScript의 효과적인 데이터 조작에 중요합니다.

반복자를 사용하여 JavaScript의 배열을 통해 반복하려면 어떻게해야합니까?

@@iterator 메소드에서 배열의 반환 된 iterator 객체에서 next() 메소드를 수동으로 호출하여 반복자를 사용하여 배열을 통해 루프 할 수 있습니다. 다음은 다음을 수행하는 방법에 대한 단계별 예입니다.

 <code class="javascript">const array = [10, 20, 30, 40, 50]; const iterator = array[Symbol.iterator](); let result = iterator.next(); while (!result.done) { console.log(result.value); // Outputs: 10, 20, 30, 40, 50 result = iterator.next(); }</code>

이 접근법은 반복 프로세스에 대한 세밀한 제어를 제공합니다. 내부적으로 for...of 메커니즘을 사용하여 배열을 통해 루프를 사용할 수 있습니다.

 <code class="javascript">const array = [10, 20, 30, 40, 50]; for (const value of array) { console.log(value); // Outputs: 10, 20, 30, 40, 50 }</code>

for...of Loop은 반복을 반복하는 데 더 편리하고 일반적으로 사용되는 방법입니다.

JavaScript의 반복 가능한 반복자의 차이점은 무엇입니까?

JavaScript의 반복적 인 반복자와 반복자의 주요 차이점은 반복 프로세스 중 역할과 기능에 있습니다.

  • 반복성 : 반복 가능한 것은 데이터 모음을 나타내고 반복 할 수있는 객체입니다. ITERATOR를 반환하는 Symbol.iterator 메소드가 있습니다. 반복 가능한 목적은 요소에 순차적으로 액세스 할 수있는 방법을 제공하는 것입니다.
  • 반복자 : 반복자는 실제 반복 과정을 용이하게하는 객체입니다. 반복의 현재 위치를 추적하고 next() 메소드를 제공하여 순서에서 다음 요소를 검색합니다. next() 에 대한 각 호출 ()은 valuedone 속성을 가진 객체를 반환합니다.

다음은 이러한 개념에 대한 간단한 그림입니다.

 <code class="javascript">// An array is an iterable const array = [1, 2, 3]; // Getting an iterator from the iterable const iterator = array[Symbol.iterator](); // Using the iterator console.log(iterator.next()); // { value: 1, done: false } console.log(iterator.next()); // { value: 2, done: false } console.log(iterator.next()); // { value: 3, done: false } console.log(iterator.next()); // { value: undefined, done: true }</code>

요약하면, 반복 가능한 것은 반복기를 얻는 메커니즘을 제공하는 반면 반복자는 반복 가능한 반복 요소를 생성하여 반복을 수행합니다.

JavaScript에서 내장 반복의 예를 제공 할 수 있습니까?

JavaScript에는 반복되는 몇 가지 내장 데이터 유형이 포함되어 있습니다. 몇 가지 예는 다음과 같습니다.

  1. 배열 :
    배열은 JavaScript에서 가장 일반적으로 사용되는 반복 중 하나입니다. for...of Loop을 사용하여 배열의 요소를 반복 할 수 있습니다.
 <code class="javascript">const fruits = ['apple', 'banana', 'cherry']; for (const fruit of fruits) { console.log(fruit); // Outputs: apple, banana, cherry }</code>
  1. 문자열 :
    문자열은 또한 반복적 인 것이며, 각 반복은 문자열에서 문자를 생성합니다.
 <code class="javascript">const message = "Hello"; for (const char of message) { console.log(char); // Outputs: H, e, l, l, o }</code>
  1. 지도 :
    지도는 키 값 쌍의 반복 가능한 컬렉션입니다. Loop for...of 키 값 항목에 반복됩니다.
 <code class="javascript">const map = new Map([['a', 1], ['b', 2], ['c', 3]]); for (const [key, value] of map) { console.log(key, value); // Outputs: a 1, b 2, c 3 }</code>
  1. 세트 :
    세트는 고유 한 값의 모음이며 반복적입니다. 루프 for...of 세트의 값을 반복합니다.
 <code class="javascript">const set = new Set([1, 2, 3, 4, 5]); for (const value of set) { console.log(value); // Outputs: 1, 2, 3, 4, 5 }</code>

이 내장 반복은 언어가 제공 한 반복 메커니즘을 사용하여 JavaScript의 데이터 모음을 처리 할 수 ​​있도록 간단하게 만듭니다.

위 내용은 JavaScript의 반복자와 반복성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.