for 반복문

for in 반복문

배열의 인덱스를 기반으로 반복할 때 사용. 배열의 요소를 하나하나 꺼내 특정 문장을 실행할 때 사용한다

const todos = ['우유 사기', '우유 거품 내기', '에스프레소 샷 내리기'];

for (const i in todos){  // 반복 변수 i는 배열의 인덱스
	console.log(`${i}번째 할일: ${todos[i]}`);
}

// 실행결과
/*
	0번째 할일 : 우유 사기
	1번째 할일: 우유 거품 내기
	2번째 할일: 에스프레소 샷 내리기
*/

for of 반복문

배열의 값을 기반으로 반복할 때 사용.

const todos = ['우유 사기', '우유 거품 내기', '에스프레소 샷 내리기'];

for(const todo of todos){   // 반복 변수(여기서는 todo)에 요소값이 들어간다 
	console.log(`오늘의 할일: ${todo}`);
}

// 실행결과
/*
	오늘의 할일: 우유 사기
	오늘의 할일: 우유 거품 내기
	오늘의 할일: 에스프레소 샷 내리기
*/

for 반복문

횟수를 기반으로 반복할때 사용

const todos = ['우유 사기', '우유 거품 내기', '에스프레소 샷 내리기'];

for(let i=0; i<todos.length; i++){
		console.log(`${i}번째 할일: ${todos[i]}`);
}

// 실행결과
/*
	0번째 할일 : 우유 사기
	1번째 할일: 우유 거품 내기
	2번째 할일: 에스프레소 샷 내리기
*/

// 순서 반대로 바꾸기
for(let i=todos.length-1; i>=0; i--){
		console.log(`${i}번째 할일: ${todos[i]}`);
}

// 실행결과
/*	
	2번째 할일: 에스프레소 샷 내리기
  1번째 할일: 우유 거품 내기
  0번째 할일 : 우유 사기
*/

while 반복문

조건을 기반으로 반복할때 사용. 조건이 true일때 반복한다

아래의 코드는 불린 표현식이 true로 되어있어서 무한 반복한다

let i = 0;
while (true){
		alert(`{i}번째 반복입니다.`);
		i++;
}

아래 코드는 confirm 메소드를 이용하여 사용자가 확인 버튼을 누르면 true를 리턴하여 반복하고 취소 버튼을 누르면 false를 리턴하여 반복이 종료된다

let i=0;
while(confirm('계속 진행하시겠습니까?')){
		alert(`{i}번째 반복입니다.`);
		i++;
}

배열요소를 하나씩 출력하는 반복문을 while을 사용하여 출력할 수 있다

let i = 0;
const array = [1,2,3,4,5];

while(i < array.length){
		console.log(`${i}: ${array[i]}`);
		i++;
}

// 실행결과
/*
  0: 1
	1: 2
	2: 3
	3: 4
	4: 5
*/

continue 키워드

반복문 안에서 continue 키워드를 만나면 다음 문장을 실행하지않고 반복문의 처음으로 돌아가서 반복 작업을 한다

for (let i=0; i < 5; i++){
	continue; // 다음 코드인 alert를 실행하지 않고 처음으로 돌아간다
	alert(i);	
}

// alert()함수를 실행하기 전에 continue 키워드를 만나므로
// 위 반복문을 실행하면 alert()는 실행되지 않는다

별 찍기

중첩 반복문 사용하기(1)

// 실행결과
*
**
***
****
*****
******
*******
********
*********
// 나의 문제 풀이
let output = '';
    for(let i=1; i<10; i++){

      for(let j=1; j<i+1; j++){
        output += '*';
      }
      output += '\n';
    }

console.log(output);

이중 for문 사용하여 문제를 풀었다

내부 for문의 조건표현식을 let j=0; j<i; j++ 로 바꾸면 더 깔끔한 코드가 될 것 같다

중첩 반복문 사용하기(2)

// 실행결과
							 *
              ***
             *****
            *******
           *********
          ***********
         *************
        ***************
       *****************
      *******************
     *********************
    ***********************
   *************************
  ***************************
// 나의 문제 풀이
let output = '';
    let k = 0;
    for(let i=1; i<15; i++){
      for(let m=15; m>k; m--){
        output += ' ';
      }
      for(let j=0; j<i+k; j++){
          output += '*';
      }
      k++;
      output += '\n';
    }

    console.log(output);