본문 바로가기

코플릿 기록/JavaScript60

고차함수 30번 #문제 배열을 입력받아 배열에서 가장 짧은 길이를 가진 문자열 요소를 리턴해야 합니다. 같은 길이의 요소가 있다면 배열의 앞쪽에 있는 요소를 리턴해야 합니다. 빈 배열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 주어진 배열에 문자열이 없는 경우, 빈 문자열을 리턴해야 합니다. #예시 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 .. 2023. 1. 15.
고차함수 29번 #문제 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 배열들의 요소를 모두 담고 있는 단일 배열을 리턴해야 합니다. #예시 let output = joinArrayOfArrays([ [1, 4], [true, false], ['x', 'y'], ]); console.log(output); // --> [1, 4, true, false, 'x', 'y'] #정답 function joinArrayOfArrays(arr) { //입력: 배열안에 배열 //한 배열에 모두 풀어라 return arr.reduce((acc, cur) => { return acc.concat(cur); }, []); } 2023. 1. 15.
고차함수 28번 #문제 문자열을 요소로 갖는 배열을 입력받아 배열에서 가장 긴 문자열의 길이를 리턴해야 합니다. 빈 배열을 입력받은 경우, 0을 리턴해야 합니다. #예시 let output = getLengthOfLongestElement(['one', 'two', 'three']); console.log(output); // --> 5 #정답 function getLengthOfLongestElement(arr) { if(arr.length === 0){ return 0; } return arr.reduce((acc, cur) => { if (acc.length < cur.length) { return cur; } return acc; }, "").length; } 2023. 1. 15.
고차함수 27번 ★ #문제 문자열을 요소로 갖는 배열을 입력받아 배열에서 가장 긴 문자열을 리턴해야 합니다. 가장 긴 문자열이 중복이 될 경우, 앞 쪽에 있는 요소를 리턴해야 합니다. 빈 배열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. #예시 let output = getLongestElement(['one', 'two', 'three']); console.log(output); // --> 'three' output = getLongestElement(['one', 'two', 'wow']); console.log(output); // --> 'one' ★★★ 고정패턴같은 문제이다!!! if(arr.length === 0) return ""; return arr.reduce((acc, cur) => { if (acc.. 2023. 1. 15.