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! 라고 찍겠다.
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"
*/
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 루프 종료 후 해당 문구 출력
let input = prompt("Hey, say something!");
while (true) {
input = prompt(input);
if(input === "stop copying me") { // 이 조건에 걸리면
break; // 반복문을 종료하고
}
}
console.log("OK YOU WIN!"); // 해당 코드 출력
break;
이 없으면 계속 반복
된다.break 로 반복문을 끝내는 것