[JS]반복문 for

Dada·2022년 1월 25일
0

JavaScript

목록 보기
6/16
post-thumbnail

반복문이란 우리가 흔히 알고 있는 for문, while문
맞습니다. 고 두개이지요. 이 아이들을 좀 더 낱낱이 살펴 보자구요.

우선 반복문은 뭔가... 내게 참 헷갈리는 아이었다. 그러다가 어느날 갑작스레 해야만 했고 앞으로도 해야하는 알고리즘에게 멱살잡히다싶이 하여 깨닫게 되었다.

난 반복문을 탐색의 도구라고 말하고싶다.

배열이 있다면 배열을 샅샅이 탐색하니까, 또 어떨때는 내가 이렇게 탐색해줘 조건을 내걸면 또 조건에 맞춰 탐색해서 결과물을 내놓는다.

기본 for문

for(let i=0; i<3; i++){
  console.log(i)
}
console.log(i) //0,1,2

여기서 for문을 사용했고 i의 초기값을 0으로 설정해 주었다. 그리고 i는 3보다 작은 수 까지만 탐색하라고 조건을 걸었다. 처음 탐색에서 i는 자신의 초기값인 0을 뱉어냈고, 계속해서 자신에게 + 해가며 3이 되기 전까지 돌아 0,1,2라는 수를 뱉어냈다.

2중 for문

난 2중 for문이 제일 헷갈렸었다. 2중 for문은 도대체 어떻게 돌아가는거야.. 했는데 간단했다. 코드와 예시를 보자

for(let i=0; i<3; i++){
  for(let j=0; j<3; j++){
  	console.log(`${i} + ${j} = ${i + j}`)
  }
} 
// 0 + 0 = 0
   0 + 1 = 1
   0 + 2 = 2
   ...
   2 + 1 =3
   2 + 2 = 4

for문을 보면 i는 결국 3 직전인 2까지 돌아 0,1,2가 될 것이고 j도 마찬가지로 0,1,2가 될 것이다.
그렇다면 이제부터 이거다 i가 있는 for문이 j가 있는 for문을 감싸는 것이니 i가 기준이 된다. 마치 구구단처럼. 1단이면 1을 기준으로 1~9가 곱해지지 않나. 그와 비슷하다.
구구단이라고 생각해보자. i단이다.

console.log(${i} + ${j} = ${i + j}) 이걸 보고 찬찬히 해보자
i의 0을 기준으로 j의 0,1,2를 대입한다.

i + j = 결과값
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2

0인 i를 기준으로 j가 다 돌았으니 이제 i의 1을 기준으로 도는 거다

i + j = 결과값
1 + 0 = 1
1 + 1 = 2
1 + 2 = 3

1인 i를 기준으로 j가 다 돌았으니 이제 i의 2를 기준으로 돌기

i + j = 결과값
2 + 0 = 2
2 + 1 = 3
2 + 2 = 4

이렇게다. 2중 for문 어렵지 아니아니하다

for문의 종류

  • for(let i=0; i<3; i++)
  • for(key in object)
    객체의 키의 개수만큼 반복한다.
    객체의 key, value 형태를 반복하여 수행하는데 최적화 됨
  • fort(let x of language)
    collection 객체 자체가 Symbl=ol.iterator 속성(property)을 가지고 있어야 동작 가능한 유형
    내가 사용한 바로는 language가 배열일 때 x는 배열의 하나하나의 요소가 되고, language가 문자열일때 알파벳 하나하나가 된다.

for문과 while문의 차이

변수에 대한 초기화(i=0), 업데이트 부분(i++)을 문법 자체에서 제공을 하느냐이고, while은 특정 조건을 가질때 많이 사용한다. 예를들어 while(num>=3) 이런식으로 특정 조건을 사용할 때

profile
우당탕탕 개발로그

0개의 댓글