IT/JavaScript
[자바스크립트] false가 될때까지 무한 루프되는 while
김숭늉이
2023. 8. 20. 21:04
728x90
안녕하세요 💕
이번글에서는 자바스크립트 while에 대해서 알아보겠습니다.
while의 경우 조건이 false가 될때까지 무한정 계속 실행이 되는 무한 루프의 개념입니다.
var i = 1;
while(i <= 10){ // i가 3이 될때까지 while문 실행
console.log(i);
i ++;
}
/////////콘솔창 결과
1
2
3
그럼 아래 첫번째 예문을 통해서 알아볼까요?
4번째줄 while문을 통해서 100까지의 숫자를 찍어볼수 있습니다.
var output = [];
var count = 1;
function fizzBuzz() {
while(count <=100) { /// count가 100까지 무한정으로 아래 함수를 자동으로 실행합니다.
if (count % 3 === 0 && count % 5 === 0) {
output.push("FizzBuzz");
}
else if (count % 3 === 0) {
output.push("Fizz");
}
else if (count % 5 === 0) {
output.push("Buzz");
}
else {
output.push(count);
}
count++;
}
console.log(output);
}
/////// 아래와 같이 결과값이 찍힙니다///////
(100) [1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz',
13, 14, 'FizzBuzz', 16, 17, 'Fizz', 19, 'Buzz', 'Fizz', 22, 23, 'Fizz', 'Buzz',
26, 'Fizz', 28, 29, 'FizzBuzz', 31, 32, 'Fizz', 34, 'Buzz', 'Fizz', 37, 38,
'Fizz', 'Buzz', 41, 'Fizz', 43, 44, 'FizzBuzz', 46, 47, 'Fizz', 49, 'Buzz',
'Fizz', 52, 53, 'Fizz', 'Buzz', 56, 'Fizz', 58, 59, 'FizzBuzz', 61, 62, 'Fizz',
64, 'Buzz', 'Fizz', 67, 68, 'Fizz', 'Buzz', 71, 'Fizz', 73, 74, 'FizzBuzz', 76,
77, 'Fizz', 79, 'Buzz', 'Fizz', 82, 83, 'Fizz', 'Buzz', 86, 'Fizz', 88, 89,
'FizzBuzz', 91, 92, 'Fizz', 94, 'Buzz', 'Fizz', 97, 98, 'Fizz', 'Buzz']
두번째는 while문을 활용하여 1씩 감소하는 구문입니다.
99개의 맥주가 하나씩 줄어드네요..^^
function beer(){
var numberOfBeer = 99; // 99개의 맥주
while (numberOfBeer >= 0){ // 0이 될때까지 while문을 돌림
console.log(numberOfBeer + " on the wall");
numberOfBeer--; // 1씩 감소함
}
}
var numberOfBottles = 99 // 맥주 99개로 시작
while (numberOfBottles >= 0) { // 0이 될때까지 while 문을 돌림
var bottleWord = "bottles"; // 맥주가 여러개이면 복수
if (numberOfBottles === 1) { // 맥주가 1개이면 단수
bottleWord = "bottle";
}
console.log(numberOfBottles + " " + bottleWord + " of beer on the wall");
console.log(numberOfBottles + " " + bottleWord + " of beer,");
console.log("Take one down, pass it around,");
numberOfBottles--; // 99에서 1씩 줄어듬
console.log(numberOfBottles + " " + bottleWord + " of beer on the wall.");
}
감사합니다.
728x90
반응형