희락코딩

getEvenNumbers 본문

프로그래밍/코드 문제 풀이

getEvenNumbers

Hello JoyCoding 2021. 4. 24. 18:39
728x90
반응형

function getEvenNumbers(arr) { }

문제  

▶ 수를 요소로 갖는 배열을 입력받아 짝수만을 요소로 갖는 배열을 리턴하라

짝수가 없는 경우, 빈 배열을 리턴

 

입출력 예시

let output = getEvenNumbers([1, 2, 3, 4]);
console.log(output); // [2 , 4]

 

수도코드 작성

1. 저장 할 새로운 빈 배열을 만든다.

2. 배열안에 있는 요소를 반복해서 돌린다.

3. 배열의 요소가 짝수일 경우의 조건식을 만든다.

4. 조건에 해당하면 빈 배열에다 요소를 넣는다.

5. 담은 요소의 배열을 반환한다.  

코드작성

1
2
3
4
5
6
7
8
9
10
11
function getEvenNumbers(arr) {
  
  let newArr = [];
  for(let el in arr){
    if(arr[el]%2 === 0){
      newArr.push(arr[el])
    }
  }
  return newArr;
}
 
cs

 

문제풀이

이문제는 그렇게 어려운 문제는 아니였다. 다만 for..of와 for..in의 차이점을 구별하기 좋은 문제인 것 같다!

 

통상 for..in객체,  for..of배열로 이해하는 경우가 많다. 하지만 상황에 따라 for..in에 배열을 쓰는 경우도 있다. 

 

for..in은 배열의 인덱스 요소를 조회한다. 그래서 arr[el] 써서 비교하는게 맞는 표현이다.

그렇다면 for..of로 쓰려면 어떻게 바꾸면 좋을까 ?

 

1
2
3
4
5
6
7
8
9
10
11
function getEvenNumbers(arr) {
 
  let newarr = [];
  for(let el of arr){
    if(el%2 === 0){
      newarr.push(el)
    }
  }
  return newarr;
}
 
cs

 

 for..of는 키의값 배열로치면 인덱스 요소의 값을 조회 하기 때문에 위와 같이 arr[el] 에서 el로 바꿔 써주면 된다.

 

 

자세한 사항은!!

https://joy-codeing-lee.tistory.com/51?category=961871

 

JavaScript _tip / for ...in , for ...of의 차이!

for...in 과 for ...of 의 차이점 기존 for문과 while문 이외에도 여러가지 반복문이 있습니다! 바로 ES6에서는 대상의 요소를 순회하기 위해 for in과 for of이라는 문법이 새롭게 추가 되었습니다. 문법 및

joy-codeing-lee.tistory.com

 

728x90
반응형

'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글

countAllCharacters // 문자열을 객체로!  (0) 2021.04.25
addToBackOfNew & addToFrontOfNew  (0) 2021.04.25
makeLastSeenMsg  (0) 2021.04.09
findShortestOfThreeWords  (0) 2021.04.09
isPythagorean  (0) 2021.04.09
Comments