สมมติว่าเรามีวัตถุที่อธิบายคุณสมบัติต่างๆ ของนักฟุตบอลเช่นนี้ −
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 }