เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขเป็นอาร์กิวเมนต์แรก และตัวเลข n เป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันควรเลือกตัวเลข n ตัวที่มากที่สุดจากอาร์เรย์และคืนค่าอาร์เรย์ใหม่ที่ประกอบด้วยตัวเลขเหล่านั้น
ตัวอย่างโค้ด
โค้ดสำหรับการทำงานนี้จะเป็นดังนี้
const arr = [3, 4, 12, 1, 0, 5, 22, 20, 18, 30, 52];
const pickGreatest = (arr = [], num = 1) => {
if(num > arr.length){
return [];
};
const sorter = (a, b) => b - a;
const descendingCopy = arr.slice().sort(sorter);
return descendingCopy.splice(0, num);
};
console.log(pickGreatest(arr, 3));
console.log(pickGreatest(arr, 4));
console.log(pickGreatest(arr, 5));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
[ 52, 30, 22 ] [ 52, 30, 22, 20 ] [ 52, 30, 22, 20, 18 ]