다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -
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 } ]