JavaScript에서 반복자는 반복 프로세스를 위해 특별히 설계된 일부 독점 인터페이스가 있는 특수 객체입니다. 모든 반복자 객체에는 next() 메서드가 있으며 각 호출은 결과 객체를 반환합니다. 반복자는 컬렉션의 현재 값 위치에 대한 내부 포인터를 저장합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
Iterator는 특별한 객체입니다. 모든 반복자 객체에는 next() 메서드가 있으며, 각 호출은 를 반환합니다. 결과 객체. 결과 개체에는 두 가지 속성이 있습니다. 하나는 반환할 다음 값을 나타내는 값이고, 다른 하나는 반환할 데이터가 더 이상 없을 때 true를 반환하는 부울 값입니다. 또한 반복자는 현재 컬렉션의 값 위치를 가리키는 내부 포인터를 저장합니다. next() 메서드가 호출될 때마다 마지막 값 이후에 next() 메서드가 호출되면 사용 가능한 다음 값이 반환됩니다. 반환된 경우 반환된 개체에서 수행된 속성의 값은 true이고 속성 값에는 반복자가 최종 반환한 값이 포함됩니다. 이 반환 값은 데이터 세트의 반환 값과 유사합니다. function.함수 호출 중 호출자에게 마지막으로 전달되는 정보입니다. 해당 데이터가 없으면 undefine이 반환됩니다. 2. Iterator가 나타나는 이유는 무엇입니까?
당신은 for 루프를 사용하고
널 포인터 참조문제도 겪었을 것입니다. 예를 들어, 배열의 길이는 5이지만 인덱스는 5입니다. 6에 도달했습니다. 약간의 논리 오류로 인해 프로그램이 정상적으로 실행되지 않을 수 있습니다. 반복자가 해결하려는 문제는 다음과 같습니다.
유사한 for 루프를 사용할 때 변수 컬렉션에 액세스할 때 발생하는 오류 문제를 해결하거나 줄입니다. 예:
널 포인터 참조. 예:
for 루프를 사용하여 컬렉션을 순회할 때 실수하기 쉽지만 forEach와 같은 것을 사용하면 널 포인터 참조 문제가 줄어듭니다. array.forEach(element => {
// 此时可以不用i来操作集合了。
});
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 }; } }; }
입니다. next()이고 값은 함수입니다. [관련 추천 : javascript 학습 튜토리얼]
위 내용은 자바스크립트 반복자란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!