Iterator 및 for...of...순환하다
1. 기본 사용
우리는 기본적인 사용 방법을 보고 아래의 코드를 봅시다.
let arr = ['hello', 'world']
let map = arr[Symbol.iterator]()
map.next(); // value: 'hello', done: false
map.next(); // value: 'world', done: false
map.next(); // value: undefined, done: true
우리는 먼저 하나의 그룹을 정의한 다음에 iterator의 인터페이스를 사용했다. 그리고 다음에next () 방법을 호출하면 우리가 한 번 호출하면 하나의 값을 출력할 수 있다. done는false의 대표로 반복이 끝나지 않았고, 마지막에 반복이 끝나면true가 된다.
그러면 우리가iterator를 어떻게 사용자 정의하여 우리가 정의한 데이터 구조를 분석합니까?다음 코드를 보시오.
let obj = {
start: [1,2,3],
end: [4,5,6],
[Symbol.iterator](){
let self = this;
let index = 0;
let arr = self.strat.concat(self.end);
let len = arr.length;
return {
next() {
if (index < len) {
return {
value: arr[index++],
done: false
}
} else {
return {
value: arr[index++],
done: true
}
}
}
}
}
}
그러므로 앞으로 우리는 사용자 정의로 자신의 데이터 구조를 해석하고 싶으면 스스로 정의할 수 있다.
2. for...of...
이것이 바로 위의iterator의 실현이다. 매우 간단하다. 여기서 더 이상 말하지 않고 여러분들이 직접 알아보실 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.