문자열과 숫자 혼합 데이터 유형을 포함하는 배열이 있습니다. NaN 값이 항상 맨 아래에 오도록 배열을 정렬하는 정렬 함수를 작성해야 합니다.
배열은 앞에 유효한 모든 숫자를 포함해야 하며, 그 뒤에 문자열 리터럴이 오고, 그 뒤에 NaN이 와야 합니다.
이에 대한 코드는 -
const arr = [344, 'gfd', NaN, '', 15, 'f',176, NaN, 736, NaN, 872, 859, 'string', 13, 'new', NaN, 75]; const sorter = (a, b) => { if(a !== a){ return 1; }else if(b !== b){ return -1; } return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);
출력
콘솔의 출력 -
[ 75, 13, 859, 872, 736, 176, 15, 344, 'gfd', '', 'f', 'string', 'new', NaN, NaN, NaN, NaN ]