2
for-in 루프를 사용하여 두 요소의 배열을 반복하지만 루프 반복은 두 번입니다.for-in 루프가 내 배열 크기의 두 배로 반복되는 이유는 무엇입니까?
여기 예제가 있습니다 http://jsbin.com/etoyac/8/
for-in 루프를 사용하여 두 요소의 배열을 반복하지만 루프 반복은 두 번입니다.for-in 루프가 내 배열 크기의 두 배로 반복되는 이유는 무엇입니까?
여기 예제가 있습니다 http://jsbin.com/etoyac/8/
그것은 getElementsByTagName
에서 반환 된 결과가 간단한 배열 — 그것이 NodeList를입니다 아니고, "라이브"이기 때문입니다. DOM에 대한 업데이트는 목록에 즉시 반영됩니다.
당신은 배열에 노드 목록을 설정하는 배열 프로토 타입의 "조각"방법을 사용할 수 있습니다
또한var slideArr = [].slice.call(slides, 0);
당신이 숫자 인덱스 배열 (또는 그 문제에 대한 노드 목록)을 반복한다 :
for (var slideIndex = 0; slideIndex < slideArr.length; ++slideIndex) {
'for .. in'을 사용하여 배열을 반복해서 사용하지 마십시오. – kapa
@ bažmegakapa ... 그리고 NodeList 객체가 배열처럼 작동하는 것을 기대해서는 안됩니다 :-) – Pointy
둘 다 정확하고 저는 바보입니다. –