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

JavaScript에서 false 객체를 맨 아래로 푸시

<시간/>

다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -

const array = [
   {key: 'a', value: false},
   {key: 'a', value: 100},
   {key: 'a', value: null},
   {key: 'a', value: 23}
];

우리는 그러한 배열 하나를 취하고 "value" 속성에 대해 잘못된 값을 가진 모든 객체를 맨 아래에 배치하고 다른 모든 객체를 "value" 속성에 따라 내림차순으로 정렬하는 JavaScript 함수를 작성해야 합니다.

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

이에 대한 코드는 -

const arr = [
   {key: 'a', value: false},
   {key: 'a', value: 100},
   {key: 'a', value: null},
   {key: 'a', value: 23}
];
const isValFalsy = (obj) => !obj.value && typeof obj.value !== 'number';
const sortFalsy = arr => {
   arr.sort((a, b) => {
      if(isValFalsy(a) && isValFalsy(b)){
         return 0;
      }
      if(isValFalsy(a)){
         return 1;
      };
      if(isValFalsy(b)){
         return -1;
      };
      return b.value - a.value;
   });
};
sortFalsy(arr);
console.log(arr);

출력

콘솔의 출력은 다음과 같습니다. -

[
   { key: 'a', value: 100 },
   { key: 'a', value: 23 },
   { key: 'a', value: false },
   { key: 'a', value: null }
]