본문 바로가기

Language/JavaScript

[JavaScript] 반복문|for문

반복문

반복문은 무한으로 코드를 반복해준다.

 

 

* for문의 구조

   for(초기화; 조건문; 증감식) {

         //반복 구문

   }

 

 

* 조건문이 true면 {반복 구문}이 실행된다 → 증감식 → 조건문 true → 반복조건이 실행

 

 

ex. 0~5까지 반복

function forLoops() {
   const array = [];
   for(let i = 0; i <= 5; i++) {
   array.push(i);
   }
   return array;
}

console.log(forLoops())     //[0, 1, 2, 3, 4, 5]

 

 

 

ex. 0~20까지 짝수/홀수만 반복

function evenNumber() {
   const array = [];
   for(let i = 2; i <= 20; i = i + 2) {   //oddNumber의 경우 for(let i = 1; i <= 20; i = i + 1)
   array.push(i);
   }
   return array;
}

console.log (evenNumber())     //[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

 

 

 

ex. 1~9까지 홀수만 내림차순

function arrayForLoops() {
   const array = [];
   for(let i = 9; i >= 1; i = i - 2) {
   array.push(i);
   }
   return array;
}

console.log (arrayForLoops())     //[9, 7, 5, 3, 1]

ex. 배열의 끝 요소부터 역순으로 생성

//case1

const arr = [1, 3, 4, 6, 9];
console.log(arr.reverse())   //[9, 6, 4, 3, 1]



//case2 reverse 미사용

const arr = [1, 3, 4, 6, 9];
const reverse = [];
for (let i = arr.length - 1; i >= 0; i--) {reverse.push(arr[i])}
console.log (reverse)        //[9, 6, 4, 3, 1]



const arr = [1, 3, 4, 6, 9];
const reverse = [];
for (let i = arr.length - 1; i >= 0; i--) {reverse.push(arr[i])
console.log (reverse)
}
/* 결과
[9]
[9, 6]
[9, 6, 4]
[9, 6, 4, 3]
[9, 6, 4, 3, 1]
*/

{}에서 console.log의 위치가 밖에 있냐, 안에 있냐에 따라 값은 달라진다.

 

 

 

 

 

ex. 배열의 합계

function arrayLoop() {
   const myArr = [1, 2, 3, 4, 5];
   let total = 0;
   for (let i = 0; i < myArr.length; i++) {
   total = total + myArr[i];
   }
   return total;
}

console.log (arrayLoop())     //15

 

 

 

ex. 문자열 한글자씩 반환

function getAllLetters(str) {

  const strArray = [];
  let s = 'Developer';
  for (let i = 0; i < s.length; i++) {
    strArray.push(s.charAt(i))
  }
  
  return strArray;
}

console.log (getAllLetters(0))     // ['D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r']

 

 

 

ex. 배열의 최솟값 구하기

function findSmallestElement(arr) {
  if(arr.length === 0) {
  return 0;
  } else {
    let min = arr[0];
    for(let i = 0; i < arr.length; i++) {
      if(arr[i] < min) {
        min.arr[i];
    }
      return min;
    }
  }
}
console.log(findSmallestElement([1, 10, 100, 1000, 10000]))     //1

 

 

 

ex. 인사봇

let group1 = [0, 0, 0, 0, 1];
const helloBot = people => {
	let result = [];

  for (i = 0; i < people.length; i++ ) {
    if (people[i] == 0) {
      result.push('안녕하세요');
    } else {
      result.push('또 만나네요');
    }
  }
  return result;
}
console.log (helloBot(group1))