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

JavaScript의 배열에서 숫자를 오름차순으로 정렬하고 문자열을 알파벳순으로 정렬

<시간/>

문제

숫자와 문자열의 배열을 받는 JavaScript 함수를 작성해야 합니다. 우리 함수는 먼저 숫자가 오름차순으로 정렬된 다음 알파벳순으로 정렬된 문자열이 있는 단일 배열을 반환해야 합니다.

값은 원래 유형을 유지해야 합니다.

예시

다음은 코드입니다 -

const arr = [5, 8, 'car', 'dad', 'amber', 1, 12, 76, 'bat'];
const separateSort = (arr = []) => {
   const sorter = (a, b) => {
      if(typeof a === 'number' && typeof b === 'string'){
         return -1;
      };
      if(typeof a === 'string' && typeof b === 'number'){
         return 1;
      };
      if(typeof a === 'string' && typeof b === 'string'){
         return a.charCodeAt(0) - b.charCodeAt(0);
      };
      return a - b;
   };
   const res = arr.sort(sorter);
   return res;
};
console.log(separateSort(arr));

출력

다음은 콘솔 출력입니다 -

[
   1, 5,
   8, 12,
   76, 'amber',
   'bat', 'car',
   'dad'
]