Written by
Tina
on
on
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);