2017-03-21 4 views
0

방금 ​​루프를 배우기 시작했습니다. for 루프에서 두 번째 조건에서 배열을 반복 할 경우, 나는 < arrayName.length라고 말합니다. 나는 여기서 논리를 이해하지 못한다. 확실히 i = arrayName.length이어야한다. 전체 배열을 반복 할 때 길이가 < (보다 작음) 여야하는 이유는 무엇입니까?루프 제어 구조 - 자바 스크립트

예 :

var myArray = ['cats', 'dogs', 'monster munch']; 

for (i = 0; i < myArray.length; i++) { 
    console.log([i]); 
} 

모든 설명이 정말 유용 할 것이다 나는이 다른 자바 스크립트 루프 구조와 동일 같은데요?

에밀리.

+2

길이가 3 인 배열의 마지막 항목의 인덱스가 2 –

+0

이기 때문에 'for'의 두 번째 부분은 * 조건 *이므로 true이면 루프가 하나를 통과하도록 허용합니다 더 많은 시간. –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for mdn 설명서를 읽으십시오. –

답변

1

루프의 첫 번째 문은 i를 0으로 초기화하고 두 번째 문은 조건이므로 기본적으로 문이 거짓 일 때까지 "i은 길이보다 작습니다 ..."라고 말합니다. 세 번째 문은 증가합니다.

+0

예 문맥을 이해합니다. 왜 전체 배열을 반복 할 때

+1

전체 배열을 반복하는지 어떻게 알 수 있습니까? 동일한 파일에 다른 배열을 말하지 않습니까? 더군다나, 당신의 예제에서 당신은 정확히 배열을 반복하지 않습니다, 당신은 단지 조건이 더 이상 사실이 될 때까지 몇 가지 작업을 반복하고 있습니다. 배열을 반복하고 싶다면'for (x in myArray) {do something}'@EmilyChewy – Wright

0

중간의 문장은 "조건"이라고합니다. 해당 문이 true이면 루프가 계속됩니다. false이면 루프가 중지됩니다.

그리고 예, 자바 스크립트에서는 중간에 성명을 기재하는 것이 유용합니다. 많은 초기화 작업과 많은 증분 작업을 수행 할 수 있지만 중간 작업은 항상 조건이어야합니다. 예 :

for (var i=0; var j=10; i != j; i++; j--) { // do stuff } 

유효한 두 개의 변수 선언과 두 개의 증분 루프가 있습니다. if가 멈추게된다 i == j