[TIL] Javascript_Loop

정세비·2021년 5월 18일
0

JavaScript

목록 보기
7/16
post-thumbnail

특정 조건이 충족될 때까지 작업이 반복되는 반복문

For Loop

  • for 반복문은 괄호 내에서 ;로 나눠진 세가지 표현식으로 나타낼 수 있음
    • 첫번째는 initialization으로 iterator variable을 선언함
    • 두번째는 stopping condition
    • 세번째는 iteration statement
for (let counter = 0 ; counter < 4; conter++) {
  console.log(counter);
}
//output : 0 1 2 3

1) Looping through Arrays

배열문의 stopping condition을 지정할 시, .length를 활용하면 좋다

const colors = ['blue', 'white', 'gray'];
for (let i = 0; i < colors.length; i++) {
  console.log(colors[i]);
}
//output : blue white gray

2) Nested Loops

for문 안에 for문을 넣기

📃 내 팔로워와 vincenzo의 팔로워에서 공통된 팔로워 목록 만들어 보기

let myfollowers = ['Marco', 'Gemma', 'Serena', 'Alberto'];
let vincifollowers = ['Guido', 'Serena', 'Marco'];
let ourfollowers = [];

for (let i = 0; i < myfollowers.length; i++) {
 for (let j = 0; j < vincifollowers.length; j++) {
   if (myfollowers[i] === vincifollowers[j]) {
     ourfollowers.push(myfollowers[i]);
   }
 }
}

console.log(ourfollowers);

//output : ['Marco', 'Serena']



While Loop

while반복문은 루프 전에 변수가 선언되며, 블록 내에 iteration statement를 선언해줘야함. 만약 그렇지 않을 경우 항상 초기값을 갖게 되므로 루픅 무한루프에 빠지게 됨

for문을 while문으로 변환해보기


for (let count = 1; count < 4; count++){
  console.log(count);
}
 

let count = 1;
while (count < 4) {
  console.log(count);
  count++;
}

📃 spade카드가 나올 때까지 카드 출력해보기 (랜덤값 활용)

const card = ['heart', 'diamond', 'spade', 'club'];

let mycard;
while (mycard != 'spade') {
 mycard = card[Math.floor(Math.random() * 4)];
 console.log(mycard);
}

📢 while과 for를 언제 나눠서 사용할까?
for문은 루프가 실행되어야하는 횟수를 알고 있을 때 사용하지만,
while문은 얼마나 실행되어야할 지 결정되지 않았을 때 사용하며 주로 조건에 따라 반복할 때 사용



Do...while문

  • while문과 do-while문의 차이점은 조건을 먼저 검사하느냐, 나중에 검사하느냐의 차이
  • 중괄호 블럭을 먼저 한번 실행하고, 조건을 검사하여 반복을 결정함

👉 구조

do{
조건식이 참이면 실행할 명령
}
while(조건식)
let result = '';
let i = 0;

do {
  i = i + 1;
  result = result + i;
} while (i < 5);

console.log(result);
// output: 1 2 3 4 5


break

반복문을 완전히 중지시키는 키워드

for (let i = 0; i < 99; i++) {
  if (i > 2 ) {
     break;
  }
  console.log('Banana.');
}
console.log('Orange you glad I broke out the loop!');

/*output: 
Banana.
Banana.
Banana.
Orange you glad I broke out the loop! */


continue

지금 것만 skip하고 바로 다음 step으로 넘어가는 것



📄 continue를 이용해서 0~10까지 짝수만 프린트하기

for (let i = 0; i < 11; i++) {
  if (i % 2 !== 0) {
    continue;
  }
  console.log(i);
  
  사실 continue를 이용하지 않고 실제로는 간단히 식을 만듦
  for (let i = 0l i < 11; i ++) {
    if (i % 2 === 0) {
      console.log(i)
    }
  }  

📄 break을 이용해서 0~10까지 반복하되 8을 만나면 멈추기

for (let i = 0; i < 11; i++) {
  if (i > 8) {
    break;
  }
  console.log(i);
}
profile
파주

0개의 댓글