JavaScript 학습 노트 7: iterable

4416 단어 Javascript
JavaScript 튜 토리 얼 전송 문
옮 겨 다 니 기 Array 는 아래 표 시 를 사용 할 수 있 고 옮 겨 다 니 기 MapSet 는 아래 표 시 를 사용 할 수 없습니다.집합 유형 을 통일 하기 위해 ES6 기준 은 새로운 iterable 유형 을 도 입 했 고 Array, Map, Set 모두 iterable 유형 에 속한다.iterable 유형의 집합 은 새로운 for ... of 순환 을 통 해 옮 겨 다 닐 수 있다.for ... in 순환 은 역사 에 남 겨 진 문제 로 인해 실제 대상 의 속성 이름 을 옮 겨 다 닌 다.하나의 Array 배열 도 실제 적 으로 하나의 대상 이 고 모든 요소 의 색인 은 하나의 속성 으로 여 겨 진다.
우리 가 수 동 으로 Array 대상 에 게 추가 속성 을 추가 하면 for ... in 순환 은 예상 치 못 한 의외 의 효 과 를 가 져 올 것 이다.
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x in a) {
    alert(x); // '0', '1', '2', 'name'
}
for ... in 순환 은 name 을 포함 하지만 Arraylength 속성 은 포함 되 지 않 는 다.for ... of 순환 은 이러한 문 제 를 완전히 복 구 했 고 그 자체 의 요소 만 순환 했다.
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x of a) {
    alert(x); 'A', 'B', 'C'
}

그러나 더 좋 은 방법 은 iterable 내 장 된 forEach 방법 을 직접 사용 하 는 것 이다. 함 수 를 받 아들 이 고 매번 교체 할 때마다 이 함 수 를 자동 으로 되 돌려 주 는 것 이다.Array 을 예 로 들 면:
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element:         
    // index:       
    // array:   Array    
    alert(element);
});
SetArray 와 유사 하지만 Set 색인 이 없 기 때문에 리 셋 함수 의 앞의 두 매개 변 수 는 모두 요소 자체 입 니 다.
var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
    alert(element);
});
Map 의 리 턴 함수 인 자 는 value, keymap 자체 이다.
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    alert(value);
});

일부 매개 변수 에 관심 이 없다 면 자바 스 크 립 트 의 함수 호출 은 매개 변수 가 일치 해 야 하지 않 기 때문에 무시 할 수 있 습 니 다.예 를 들 어 Arrayelement 만 얻 으 면 된다.
var a = ['A', 'B', 'C'];
a.forEach(function (element) {
    alert(element);
});

집합 요 소 를 옮 겨 다 니 는 방법 forEach 을 추천 합 니 다. 성능 이 가장 높 습 니 다.

좋은 웹페이지 즐겨찾기