สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -
const array = [
{key: 'a', value: false},
{key: 'a', value: 100},
{key: 'a', value: null},
{key: 'a', value: 23}
]; เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าวและวาง theobject ทั้งหมดที่มีค่าเท็จสำหรับคุณสมบัติ "value" ไว้ที่ด้านล่างสุด และจัดเรียงออบเจ็กต์อื่นๆ ทั้งหมดโดยเรียงลำดับตามคุณสมบัติ "value"
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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 }
]