상세 컨텐츠

본문 제목

Javascript 고차 함수문제(11) - findShortestWord

Programming Language/JavaScript

by Yongari 2022. 12. 10. 23:35

본문

문제

배열을 입력받아 배열에서 가장 짧은 길이를 가진 문자열 요소를 리턴해야 합니다.

입력

인자 1  : arr  임의의 요소가 담긴 배열


출력
string 타입을 리턴해야함.

 

입출력 예시

let output = findShortestWord([4, 'two', 2, 'three']);
console.log(output); // --> 'two'

 

풀이코드 설명

 

function findShortestWord(arr) {
  // arr 배열을 필터함수를 통해 타입이 문자열인 것만 반환합니다.
  const stringShort = arr.filter(function(el){
    return typeof el === 'string';
  }); 

  //필터함수를 통해 만들어진 배열에서 크기가 0인 문자열은 빈 문자열을 리턴합니다.
  if(stringShort.length ===0 ){
    return '';
  }
  
  //필터함수를 통해 만들어진 배열에서 모든 요소를 순회하면서 크기가 가장 짧은 문자만 반환합니다. 
  return stringShort.reduce(function(a,b){
    if(a.length <= b.length){
      return a ;
    }
    else{
      return b ;
    }
  });
}

관련글 더보기