자바스크립트 반복자란 무엇입니까?

青灯夜游
풀어 주다: 2021-12-07 17:30:55
원래의
1634명이 탐색했습니다.

JavaScript에서 반복자는 반복 프로세스를 위해 특별히 설계된 일부 독점 인터페이스가 있는 특수 객체입니다. 모든 반복자 객체에는 next() 메서드가 있으며 각 호출은 결과 객체를 반환합니다. 반복자는 컬렉션의 현재 값 위치에 대한 내부 포인터를 저장합니다.

자바스크립트 반복자란 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

1. 반복자의 정의:

Iterator는 특별한 객체입니다. 모든 반복자 객체에는 next() 메서드가 있으며, 각 호출은 를 반환합니다. 결과 객체. 결과 개체에는 두 가지 속성이 있습니다. 하나는 반환할 다음 값을 나타내는 값이고, 다른 하나는 반환할 데이터가 더 이상 없을 때 true를 반환하는 부울 값입니다. 또한 반복자는 현재 컬렉션의 값 위치를 가리키는 내부 포인터를 저장합니다. next() 메서드가 호출될 때마다 마지막 값 이후에 next() 메서드가 호출되면 사용 가능한 다음 값이 반환됩니다. 반환된 경우 반환된 개체에서 수행된 속성의 값은 true이고 속성 값에는 반복자가 최종 반환한 값이 포함됩니다. 이 반환 값은 데이터 세트의 반환 값과 유사합니다. function.함수 호출 중 호출자에게 마지막으로 전달되는 정보입니다. 해당 데이터가 없으면 undefine이 반환됩니다. 2. Iterator가 나타나는 이유는 무엇입니까?

배경 전제:

당신은 for 루프를 사용하고

널 포인터 참조

문제도 겪었을 것입니다. 예를 들어, 배열의 길이는 5이지만 인덱스는 5입니다. 6에 도달했습니다. 약간의 논리 오류로 인해 프로그램이 정상적으로 실행되지 않을 수 있습니다. 반복자가 해결하려는 문제는 다음과 같습니다.

유사한 for 루프를 사용할 때 변수 컬렉션에 액세스할 때 발생하는 오류 문제를 해결하거나 줄입니다. 예:

널 포인터 참조

. 예:

for 루프를 사용하여 컬렉션을 순회할 때 실수하기 쉽지만 forEach와 같은 것을 사용하면 널 포인터 참조 문제가 줄어듭니다.

array.forEach(element => {
	// 此时可以不用i来操作集合了。            
});
로그인 후 복사

3. js를 사용하여 간단한 반복자를 구현하세요

function myIterator(list) {
    let i = 0;
    return {
        next: function() {
            let done = (i >= list.length);
            let value = !done ? list[i++] : undefined;
            return {
                done: done,
                value: value
            };
        }
    };
}
로그인 후 복사

함수 정의에서 볼 수 있습니다.

함수의 반환 값은
    object
  • 입니다. next()이고 값은 함수입니다. [관련 추천 : javascript 학습 튜토리얼]

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿