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

JavaScript에서 sort()를 사용하여 배열의 마지막에 NaN 푸시

<시간/>

문자열과 숫자 혼합 데이터 유형을 포함하는 배열이 있습니다. 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
]