문자열 리터럴의 배열을 받아들이고 배열에서 가장 긴 문자열의 인덱스를 반환하는 함수를 작성해야 합니다. 문자열의 길이를 계산하는 동안 공백이 차지하는 길이를 고려할 필요가 없습니다.
두 개 이상의 문자열이 가장 긴 길이를 같으면 그렇게 하는 첫 번째 문자열의 인덱스를 반환해야 합니다.
배열을 반복하고 각 요소를 공백으로 분할하고 다시 결합하고 길이를 계산한 후 이를 객체에 저장합니다. 그리고 현재 객체에 저장된 길이보다 큰 길이를 만나면 이를 업데이트하고 마지막으로 인덱스를 반환합니다.
예시
const arr = ['Hello!', 'How are you', 'Can ', 'I use', 'splice method with', ' strings in Js?']; const findLongestIndex = (arr) => { const index = { '0': 0 }; const longest = arr.reduce((acc, val, index) => { const actualLength = val.split(" ").join("").length; if(actualLength > acc.length){ return { index, length: actualLength }; } return acc; }, { index: 0, length: 0 }); return longest.index; }; console.log(findLongestIndex(arr));
출력
콘솔의 출력은 다음과 같습니다. -
4