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

JavaScript에서 문장의 길이에 따라 단어 정렬하기

<시간/>

문장을 첫 번째이자 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.

문장은 한정된 수의 공백으로 연결된 특수한 종류의 문자열입니다.

함수는 문장의 단어를 재배열하여 가장 작은 단어(문자가 가장 적은 단어)가 먼저 나타난 다음 더 큰 단어가 나오도록 해야 합니다.

예를 들어 -

입력 문자열이 -

인 경우
const str = 'this is a string';

그러면 출력은 다음과 같아야 합니다. -

const output = 'a is this string';

예시

다음은 코드입니다 -

const str = 'this is a string';
const arrangeWords = (str = []) => {
   const data = str.toLowerCase().split(' ').map((val, i)=> {
      return {
         str: val,
         length: val.length,
         index: i
      }
   })
   data.sort((a,b) => {
      if (a.length === b.length)
         return (a.index - b.index)
      return (a.length - b.length)
   });
   let res = '';
   let i = 0;
   while (i < data.length - 1)
      res += (data[i++].str + ' ');
   res += data[i].str;
   return (res)
};
console.log(arrangeWords(str));

출력

다음은 콘솔 출력입니다 -

a is this string