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의 효과적인 데이터 조작에 중요합니다.
@@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의 반복적 인 반복자와 반복자의 주요 차이점은 반복 프로세스 중 역할과 기능에 있습니다.
Symbol.iterator
메소드가 있습니다. 반복 가능한 목적은 요소에 순차적으로 액세스 할 수있는 방법을 제공하는 것입니다.next()
메소드를 제공하여 순서에서 다음 요소를 검색합니다. next()
에 대한 각 호출 ()은 value
과 done
속성을 가진 객체를 반환합니다.다음은 이러한 개념에 대한 간단한 그림입니다.
<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에는 반복되는 몇 가지 내장 데이터 유형이 포함되어 있습니다. 몇 가지 예는 다음과 같습니다.
for...of
Loop을 사용하여 배열의 요소를 반복 할 수 있습니다.<code class="javascript">const fruits = ['apple', 'banana', 'cherry']; for (const fruit of fruits) { console.log(fruit); // Outputs: apple, banana, cherry }</code>
<code class="javascript">const message = "Hello"; for (const char of message) { console.log(char); // Outputs: H, e, l, l, o }</code>
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>
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!