본문 바로가기
코플릿 기록/JavaScript

고차함수 30번

by 뭉지야 2023. 1. 15.
728x90

#문제

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

같은 길이의 요소가 있다면 배열의 앞쪽에 있는 요소를 리턴해야 합니다.

빈 배열을 입력받은 경우, 빈 문자열을 리턴해야 합니다.

주어진 배열에 문자열이 없는 경우, 빈 문자열을 리턴해야 합니다.


#예시

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

#정답

function findShortestWord(arr) {
 //일단 배열에서 문자만 골라내자
 //문자의 길이를 비교하자
//acc가 typeof acc === 'string'

 const newArr = arr.filter (obj => typeof obj === 'string');

  if (newArr.length === 0) {
    return "";
  }

 return newArr.reduce((acc, cur) => {
   if (acc.length > cur.length) {
     return cur;
   }
   return acc;
 });
}
728x90

'코플릿 기록 > JavaScript' 카테고리의 다른 글

고차함수32번  (0) 2023.01.15
고차함수 31 ★★★  (0) 2023.01.15
고차함수 29번  (0) 2023.01.15
고차함수 28번  (0) 2023.01.15
고차함수 27번 ★  (0) 2023.01.15