Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열에서 가장 긴 문자열 찾기(공백 제외) JavaScript

<시간/>

문자열 리터럴의 배열을 받아들이고 배열에서 가장 긴 문자열의 인덱스를 반환하는 함수를 작성해야 합니다. 문자열의 길이를 계산하는 동안 공백이 차지하는 길이를 고려할 필요가 없습니다.

두 개 이상의 문자열이 가장 긴 길이를 같으면 그렇게 하는 첫 번째 문자열의 인덱스를 반환해야 합니다.

배열을 반복하고 각 요소를 공백으로 분할하고 다시 결합하고 길이를 계산한 후 이를 객체에 저장합니다. 그리고 현재 객체에 저장된 길이보다 큰 길이를 만나면 이를 업데이트하고 마지막으로 인덱스를 반환합니다.

예시

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