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

숫자를 내림차순으로 정렬하지만 시작 부분에 '0'이 있는 JavaScript

<시간/>

숫자 배열을 받는 JavaScript 함수를 작성해야 합니다. 함수는 다음 기준에 따라 숫자 배열을 정렬해야 합니다. -

  • ---배열에 0이 포함되어 있으면 모두 처음에 나타나야 합니다.
  • ---나머지 모든 숫자는 내림차순으로 배치해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const arr = [4, 7, 0 ,3, 5, 1, 0];

그런 다음 정렬을 적용한 후 배열은 -

가 되어야 합니다.
const output = [0, 0, 7, 5, 4, 3, 1];

여기서는 Array.prototype.sort() 메서드를 사용합니다.

내림차순 정렬의 경우 첫 번째 정렬 함수의 두 번째 인수의 차이를 가져옵니다. 값이 거짓(영)이면 해당 값 대신 Number.MAX_VALUE를 사용합니다.

예시

const arr = [4, 7, 0 ,3, 5, 1, 0];
const specialSort = (arr = []) => {
   const sorter = (a, b) => {
      return (b || Number.MAX_VALUE) - (a || Number.MAX_VALUE);
   };
   arr.sort(sorter);
};
specialSort(arr);
console.log(arr);

출력

이것은 다음과 같은 출력을 생성합니다 -

[
   0, 0, 7, 5,
   4, 3, 1
]