다음과 같은 문자열 리터럴 배열이 있습니다. -
const arr = ['Some', 'random', 'words', 'that', 'actually', 'form', 'a', 'sentence.'];
이 배열에서 가장 긴 단어와 가장 짧은 단어를 반환하는 함수를 작성해야 합니다. 완전한 반복을 통해 배열에서 가장 긴 단어와 가장 짧은 단어를 추적하기 위해 Array.prototype.reduce() 메서드를 사용할 것입니다.
이에 대한 코드는 -
예시
const arr = ['Some', 'random', 'words', 'that', 'actually', 'form', 'a', 'sentence.']; const findWords = (arr) => { return arr.reduce((acc, val) => { const { length: len } = val; if(len > acc['longest']['length']){ acc['longest'] = val; }else if(len < acc['shortest']['length']){ acc['shortest'] = val; }; return acc; }, { longest: arr[0], shortest: arr[0] }); }; console.log(findWords(arr));
출력
콘솔의 출력은 -
{ longest: 'sentence.', shortest: 'a' }