숫자와 문자열이 포함된 배열이 있습니다. 숫자가 정렬되어 모든 문자열 앞에 배치되고 문자열이 알파벳순으로 정렬되도록 배열을 정렬해야 합니다.
예를 들어
이것이 우리의 배열이라고 가정해 봅시다 -
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
출력은 다음과 같아야 합니다. -
[1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd']
따라서 이에 대한 코드를 작성해 보겠습니다. -
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
const sorter = (a, b) => {
if(typeof a === 'number' && typeof b === 'number'){
return a - b;
}else if(typeof a === 'number' && typeof b !== 'number'){
return -1;
}else if(typeof a !== 'number' && typeof b === 'number'){
return 1;
}else{
return a > b ? 1 : -1;
}
}
arr.sort(sorter);
console.log(arr); 콘솔의 출력은 -
[ 1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd' ]