문자열 리터럴의 배열을 받아들이고 배열에서 가장 긴 문자열의 인덱스를 반환하는 함수를 작성해야 합니다. 문자열의 길이를 계산하는 동안 공백이 차지하는 길이를 고려할 필요가 없습니다.
두 개 이상의 문자열이 가장 긴 길이를 같으면 그렇게 하는 첫 번째 문자열의 인덱스를 반환해야 합니다.
배열을 반복하고 각 요소를 공백으로 분할하고 다시 결합하고 길이를 계산한 후 이를 객체에 저장합니다. 그리고 현재 객체에 저장된 길이보다 큰 길이를 만나면 이를 업데이트하고 마지막으로 인덱스를 반환합니다.
예시
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