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 |