⏲ Javascript 반복문

Day·2022년 4월 4일
0
post-thumbnail

🎥 반복문

for

위의 그림과 같이 for문을 작성할 때는 소괄호 안에 초기화문, 조건문, 증감식을 쓰고

사이사이에 세미콜론(;)을 입력해줘야 함.

ex) 1부터 10까지의 합

let result = 0;
for(let i=0; i <= 10 ; i++) {
  result += i
}
console.log(result) // 45

초기화문

초기화문 작성 시 변수 선언자를 써줘야 한다.
변수명은 보통 index를 의미하는 i로 선언
index가 증가할 경우 숫자는 보통 0부터 시작

조건문

index의 범위를 설정
index가 증가할 경우 특정한 숫자 미만 혹은 이하로 설정
index가 감소할 경우 0 이상으로 설정
조건문이 true일 경우 반복문을 계속 실행하고, 조건문이 false일 경우 반복문이 종료

증감식

index가 1씩 증가할 경우 ++을 써준다.(index의 숫자가 하나씩 증가
index가 1씩 감소할 경우 --를 써준다.(index의 숫자가 하나씩 감소)
i++은 i = i+1 을 줄여서 쓴 것. i += 1 로 표현할 수도 있다.
i++는 ++1로 표현할 수 있다.

ex) for ([초기문]; [조건문]; [증감문])

let ourArray = [];
for (var i = 0; i < 5; i++) {
  ourArray.push(i);
}
//ourArray will now contain [0,1,2,3,4].

[초기조건 : i = 0] / [조건 : i < 5 ] / [증감 : i++ : 하나씩 증가] 형태로 이루어져있다.

ex) for문을 사용하여 getAllLetters 함수를 작성하세요. 단어(str 인자)가 주어졌을 때 함수의 리턴값은 주어진 단어를 구성하는 모든 문자를 담고 있는 배열입니다. 만약 빈 문자열이 주어졌다면, 빈 배열을 반환해야 합니다.

function getAllLetters(str) {

  let strArray = [];


  for(let i=0; i<str.length; i++){

    strArray.push(str.charAt(i));
    
  }
  

  return strArray;
}

console.log(getAllLetters('good'));   // ['g','o','o','d']

어려웠던 반복문 예제)

findSmallestElement 의 arr 인자는 숫자 값으로만 이루어진 배열입니다.
arr 의 값들 중 가장 작은 값을 리턴 해주세요.
만일 arr 가 비어있으면 0을 리턴 해주세요.
예를 들어, 다음과 같은 배열이 인자(input)으로 들어왔다면 1이 리턴 되어야 합니다.
[20, 200, 23, 1, 3, 9] 

//답

function findSmallestElement(arr) {
  // your code here

 for(i=0;i<arr.length;i++){

let k = arr[0];
   if(arr.length === 0)
   {
     return 0
   }
   
   else if(arr[i] < k)
   { 
     k = arr[i]
     
    return k     }

 }

반복문, 조건문 같이 쓰일 경우에, return 값은 다 빠져나와서 마지막에 설정해야 제대로 나오는 경우가 많음. 헷갈리지 말자.

ex)

행사장에 들어오는 사람에게 자동으로 인사해주는 인사봇을 만드려고 합니다.
처음 보는 사람은 숫자 0으로, 한번 봤던 사람은 숫자 1로 표기된 배열이 준비되어 있습니다.
처음 보는 사람에게는 '안녕하세요' 라는 인사를, 한번 봤던 사람에게는 '또 만나네요'라는 인삿말을 남기려고 합니다.

helloBot이라는 함수를 만들어주세요.

for문을 사용하여 빈 result배열에 인삿말을 채워주세요.

인자에는 0과 1로 이루어진 배열이 들어갑니다.

```java
let abc = [0,1,1,1,0,0];


const helloBot = people => {

let result = [];
  for( let i = 0; i< people.length; i++){

if(people[i] === 0){

  result.push("안녕하세요")
}else{
  result.push("또만나네요")
}
  }

  return result;
}

console.log(helloBot(abc)); ///['안녕하세요','또 만나네요','또 만나네요','또 만나네요','안녕하세요','안녕하세요']

0개의 댓글