#TIL - JavaScript - for문

0

JavaScript

목록 보기
11/14
post-thumbnail

일전의 포스트에서 if 문 때문에 울 뻔 했다고 한 적이 있다.
그건 한치 앞을 못 본 자의 망언이었다. 앞으로 울 일이 한 바가지임을 모르고...


for문

for문은 기본적으로 반복문이다.
무슨말이냐면 반복적으로 같은 명령을 수행하는 함수이다.
하나하나 같은 일을 하지 않도록, 자기가 반복적으로 그 일을 해 주는 것이다.


예시를 들어보자.

let menu = ["국밥","파스타","버거","김밥","계란말이"];

파스타를 먹었을 때에 "맛있겠네요!" 라고 alert를 띄우고 싶은데,
세상엔 맛있는게 너무 많고, 그러면 배열 내에 변수가 너무 많고, 그 코드를 일일히 치려면 코드가 엄청 길어질 것 같다.

let lunch = "파스타";

if (menu[0] === lunch) {
  alert("맛있겠네요!");
} else if (menu[1] === lunch) {
  alert("맛있겠네요!");
} else if (menu[2] === lunch) {
  alert("맛있겠네요!");
} ...

이렇게 계속 반복되어서 모든 지구촌 음식을 다 넣으려면 정말 화가 잔뜩 날 것이다.

바로 이 때 for문이 우리를 구제 해 줄 수 있다.

for (let i =0; i < menu.length; i++) {
  if (menu[i] === lunch) {
    alert("맛있겠네요!");
  }
}

 해석 해보자

for (let i = 0; /// i 라는 변수에 0을 대입
     i < menu.length; /// menu의 길이보다 i의 값이 작을때까지
     i++ // i 에 1을 더한다.
     ) 

반복문의 형태

for (반복조건) {
 //반복조건이 맞으면 실행할 코드 
 }

반복문 내 if 문

let menu = ["국밥","파스타","버거","김밥","계란말이"];
let lunch = "파스타";

for (let i =0; i < menu.length; i++) {
  if (menu[i] === lunch) {
    alert("맛있겠네요!");
  }
}

i 가 0이면, menu[0]과 lunch를 비교한다.
"국밥" === "파스타" 틀리므로, if문을 실행하지 않고 끝난다.
그 다음, i 가 1 일 경우를 대입하여
menu[1] 과 lunch 를 비교한다.
"파스타" === "파스타"
같으므로 if문을 실행시켜, "맛있겠네요!" 라는 알림을 띄운다.

이렇게 i 가 메뉴의 끝 배열까지 돌며 if조건을 확인하고 끝이 난다.
이 대장정이 for문의 도움으로 쉽게 끝이난다. 좋은 친구이다.

i 에는 꼭 0이 들어가야 하는 것은 아니며, 다양한 반복조건을 만들 수 있다.

예)

for ( let i = 2 ; i < 10; i +2 )
 //해설: i 에게 2를 할당; i가 10보다 작을때까지(10보다 크지 않을때까지); i를 2씩 증가시킨다. ;  

혹은

for ( let i = 100; i > 10 ; i-- )
//해설: i에 100 할당; i가 10보다 클 때 까지(10보다 작지 않을때까지);i 에서 1씩 감량; 

이런 다양한 조건들도 충분히 가능하다 .

위에서 '배열명'.length 라는 표현을 봤다.
이는 배열의 길이를 알려주는 메소드이다.
배열의 길이를 알 수 없을 때 도움이 되는 메소드이다.
for문과 찰떡궁합인 메소드이고
앞으로도 사용이 잘 될 것이기 때문에 꼭 기억해두도록 하자

profile
알쏭달쏭 디지털 세상

0개의 댓글