상세 컨텐츠

본문 제목

Javascript 고차 함수문제(3) -getElementsLessThan100AtProperty

Programming Language/JavaScript

by Yongari 2022. 12. 10. 22:33

본문



문제

객체와 키를 입력받아 키에 해당하는 값이 배열인 경우, 100 보다 작은 요소들만 갖는 배열을 리턴해야 합니다.



입력인자

obj : 임의속성을 갖는 객체

property : string 타입의 키

입출력 예시

const obj = {
  key: [1000, 20, 50, 500],
};

let output = getElementsLessThan100AtProperty(obj, 'key');
console.log(output); // --> [20, 50]

 

 

풀이코드 설명

function lessThan100(number) {
  // 100이하인지 체크하고 return 해서 반환해줍니다. 
  return number < 100;
}

function getElementsLessThan100AtProperty(obj, property) {
  // TODO: 여기에 코드를 작성합니다.
  // arr 변수를 선언하고 obj[property] 객체와 키값을 입력받고 밸류변수를 선언합니다.
  let arr = obj[property];
  if (Array.isArray(arr)){
     //자바스크립트에서 arr이 배열인지 체크하는 함수를 통해 분기처리를한다.
    return arr.filter(function(el){
    //arr의 필터기능을 이용해서 키에 해당하는 값이 배열에 있을 경우 100이하인지 체크하고 반환해줍니다.
      if(typeof el === 'number')
      {
        return lessThan100(el);
      }
    })
  }
  else{
    return []
  }

}

관련글 더보기