Chúng ta cần viết một hàm JavaScript nhận một mảng số làm tham số đầu tiên và một số, giả sử n, làm tham số thứ hai.
Hàm sẽ chọn n số lớn nhất từ mảng và trả về một mảng mới chứa các số đó.
Ví dụ
Mã thực hiệ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));
Kết quả
Kết quả trong console:
[ 52, 30, 22 ] [ 52, 30, 22, 20 ] [ 52, 30, 22, 20, 18 ]