Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 문자열의 단어를 길이순으로 정렬하는 방법

문자열을 입력받아 각 단어를 길이가 짧은 순서(오름차순)대로 재배열한 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 한다고 가정해 보겠습니다.

이 문제는 다음과 같은 순서로 해결할 수 있습니다.

해결 접근 방식

  1. 문자열을 공백(' ') 기준으로 분리하여 단어 배열을 만듭니다.
  2. sort() 메서드와 비교 함수를 사용해 단어를 길이순으로 정렬합니다.
  3. 정렬된 배열을 다시 공백으로 연결하여 하나의 문자열로 반환합니다.

예제 코드

다음은 실제 구현 코드입니다.

const str = 'This is a sample string only';

const arrangeByLength = str => {
  const strArr = str.split(' ');
  const sorted = strArr.sort((a, b) => {
    return a.length - b.length;
  });
  return sorted.join(' ');
};

console.log(arrangeByLength(str));

코드 설명

  • split(' '): 입력 문자열을 공백을 기준으로 나누어 단어 배열을 생성합니다.
  • sort((a, b) => a.length - b.length): 두 단어의 길이 차이를 비교하여 짧은 단어가 앞에 오도록 정렬합니다.
  • join(' '): 정렬된 단어들을 공백으로 이어 붙여 최종 문자열을 만듭니다.

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다.

a is This only sample string

결과를 보면 1글자인 a, 2글자인 is, 4글자인 Thisonly, 그리고 더 긴 단어들이 순서대로 배치된 것을 확인할 수 있습니다. 길이가 같은 단어들(This, only)은 원래 배열의 순서를 유지합니다.