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

JavaScript 문자열의 숫자에 따라 배열의 문자열 순서 지정

<시간/>

우리는 각각 다음과 같은 하나 이상의 숫자를 포함하는 문자열 배열을 가지고 있습니다 -

const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'];

이 배열을 문자열에 있는 숫자의 오름차순으로 정렬하는 정렬 함수를 작성해야 합니다. 올바른 순서는 -

입니다.
const output = [ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ];

따라서 이 문제에 대한 코드를 작성해 보겠습니다 -

const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'];
const filterNumber = str => {
   return +str
   .split("")
   .filter(el => el.charCodeAt() >= 48 && el.charCodeAt() <= 57)
   .join("");
};
const sorter = (a, b) => {
   return filterNumber(a) - filterNumber(b);
};
arr.sort(sorter);
console.log(arr);

출력

콘솔의 출력은 -

[ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ]