สมมติว่าเรามีวัตถุที่อธิบายคุณสมบัติต่างๆ ของนักฟุตบอลเช่นนี้ −
const qualities = {
defence: 82,
attack: 92,
heading: 91,
pace: 96,
dribbling: 88,
tenacity: 97,
vision: 91,
passing: 95,
shooting: 90
}; เราต้องการเขียนฟังก์ชันที่รับวัตถุดังกล่าวและตัวเลข n (n <=no. ของปุ่มในวัตถุ) และส่งคืนวัตถุที่มีคู่ค่าคีย์สูงสุด n คู่
ชอบสำหรับ n =2
ผลลัพธ์ควรเป็น −
{
tenacity: 97,
pace: 96
} ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน
รหัสที่สมบูรณ์สำหรับฟังก์ชันนี้จะเป็น −
ตัวอย่าง
const qualities = {
defence: 82,
attack: 92,
heading: 91,
pace: 96,
dribbling: 88,
tenacity: 97,
vision: 91,
passing: 95,
shooting: 90
};
const pickHighest = (obj, num = 1) => {
const requiredObj = {};
if(num > Object.keys(obj).length){
return false;
};
Object.keys(obj).sort((a, b) => obj[b] - obj[a]).forEach((key, ind) =>
{
if(ind < num){
requiredObj[key] = obj[key];
}
});
return requiredObj;
};
console.log(pickHighest(qualities, 3)); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
{ tenacity: 97, pace: 96, passing: 95 }
{ tenacity: 97 }
{ tenacity: 97, pace: 96, passing: 95, attack: 92, heading: 91 }