반복문 (for)

summerlee·2022년 9월 12일
0

TIL

목록 보기
9/39

반복문 (for)

  • 동일한 동작을, 조건을 만족할 때까지 반복해서 수행한다.
  • for (초기화문; 조건문; 증감식) { 수행 할 동작 }
for(초기상태; 조건; counter변화) {
	수행 할 동작(반복 할 코드 작성)
}

for(let i = 0; i < 10; i++) {
	console.log("hello!")
}

// let i = 0; ---> 0에서부터 반복할 것이다.
// 1i < 10;   ---> 0 미만일 때 까지
// i++        ---> 1씩 증가하여
// console.log("hello!") ---> 콘솔에 hello! 라고 찍겠다.

반복문과 배열 (For loop & Array)

  • 반복문에 배열을 적용하는 것은 이러한 모양을 가진다.
  • for 루프를 사용해서 i 를 배열에 연결하는 것
let myArray = [];

for(let i = 100; i < 111; i++) {
  myArray.push(i);
}

console.log(myArray);
// ---> 결과: [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110]
const animals = ['lions', 'tigers', 'bears'];

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

// 0 'lions'
// 1 'tigers'
// 2 'bears'

중첩 루프

  • for 루프 안에 또다른 for 루프가 있는 것

  • 다른 루프도 중첩 가능! 예를들어 while 루프 안에 while 루프를 넣는다거나 for 루프 안에 while 루프를 넣을 수도 있음.

  • 대표적으로 중첩된 배열을 통과하거나 반복해야 할 때 사용된다.

  • for 루프 의 바디 안에 다른 for 루프 를 넣는 것.
    하지만 실제로는 바깥 루프를 각각 반복하는 것을 의미한다.

let str = 'LOL';
for (let i = 0; i <= 4; i++) {
	console.log("Outer:", i);
  	for (let j = 0; j < str.length; j++) {
    	console.log('      Inner:', str[j]);
    }
}
/*
결과 ::::
---- 첫번째 for 문이 실행되면, for 문 안에 있는 for 문도 순서에 맞게 실행된다.
---- 안에 있는 for 문이 완전히 끝나고서야 다시 첫번째 for 문으로 돌아가 주어진 조건 만큼 반복되고, 반복되는 동안 또다시 안에 있는 for 문도 처음과 같이 실행된다. 그래서 결과가 밑과 같이 나온다.
---- 즉, 첫번째 for 문이 1번 반복시, 두번째 for 문은 str.length 만큼 반복.

"Outer:"
0
"      Inner:"
"L"
"      Inner:"
"O"
"      Inner:"
"L"

"Outer:"
1
"      Inner:"
"L"
"      Inner:"
"O"
"      Inner:"
"L"

"Outer:"
2
"      Inner:"
"L"
"      Inner:"
"O"
"      Inner:"
"L"

"Outer:"
3
"      Inner:"
"L"
"      Inner:"
"O"
"      Inner:"
"L"

"Outer:"
4
"      Inner:"
"L"
"      Inner:"
"O"
"      Inner:"
"L"
*/

While 루프

let num = 0;
while (num < 10) {
  num++;
  console.log(num);
}

반복 횟수가 정해져 있지 않을 때 while 루프를 사용하면 더 유용하다.
몇 번을 반복할지 알 수 없고 사용자의 입력 값을 포함할 수 있다.
예를 들어 사용자에게 올바른 패스워드를 무한루프로 받아내는 방법이 이에 해당한다.

const SECRET = "BabyHippo"; // 패스워드 설정

let guess = prompt("enter the secret code..."); // 패스워드 입력창

while(guess !== SECRET) { // 패스워드와 입력창 값이 다르다면
	guess = prompt("enter the secret code..."); // 다시 입력창을 띄운다.
}

console.log("CONGRATS YOU GOT THE SECRET!");
// 만약 패스워드가 일치하면 (guess !== SECRET) 값이 거짓이 되어 while 루프 종료 후 해당 문구 출력

break

  • while 루프에서 많이 사용
  • while 루프에 관해서 설명하려면 break 키워드를 꼭 알아야 함!
let input = prompt("Hey, say something!");
                   
while (true) {
	input = prompt(input);
  	if(input === "stop copying me") { // 이 조건에 걸리면
    break;							//  반복문을 종료하고
  }
}

console.log("OK YOU WIN!");		// 해당 코드 출력
  • while 조건이 참이고 break; 이 없으면 계속 반복된다.
  • break 로 반복문을 끝내는 것
profile
완벽하지 않아도 기록하려고 노력하기 😅

0개의 댓글