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

JavaScript를 사용하여 각 단어에 있는 숫자를 기반으로 단어 문자열 정렬

<시간/>

문제

문장을 나타내는 문자열을 받는 JavaScript 함수를 작성해야 합니다. 우리 함수는 이 문장을 정렬해야 합니다.

문장 문자열의 각 단어는 정수를 포함합니다. 우리 함수는 가장 작은 정수를 포함하는 단어가 먼저 배치된 다음 오름차순으로 배치되도록 문자열을 정렬해야 합니다.

예시

다음은 코드입니다 -

const str = "is2 Thi1s T4est 3a";
const sortByNumber = (str = '') => {
   const findNumber = (s = '') => s
      .split('')
      .reduce((acc, val) => +val ? +val : acc, 0);
   const arr = str.split(' ');
   const sorter = (a, b) => {
      return findNumber(a) - findNumber(b);
   };
   arr.sort(sorter);
   return arr.join(' ');
};
console.log(sortByNumber(str));

출력

Thi1s is2 3a T4est