Chúng ta được yêu cầu viết một hàm nhận một số nguyên dương n và trả về một mảng các năm ngắn hạn tiếp theo. Chúng tôi sẽ chia vấn đề này thành ba phần -
Phần 1:Tìm năm hiện tại qua JS
Mã để tìm năm hiện tại qua JS sẽ là -
// getting the current year from a new instance of Date object const year = new Date().getFullYear();
Phần 2:Kiểm tra năm nhuận
Bây giờ chúng ta sẽ viết một hàm isLeap () nhận vào một số và trả về một boolean dựa trên số sau đó có phải là năm nhuận hay không.
Một năm được coi là năm nhuận nếu ít nhất một trong hai điều kiện này được đáp ứng -
- Nó là bội số của 400.
- Nó là bội của 4 chứ không phải bội của 100.
Hãy ghi nhớ những điều này, hãy viết hàm isLeap () -
// function to check for a leap year const isLeap = year => { return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0); };
Phần 3:Tìm n năm nhuận tiếp theo
Ví dụ
// function to check for a leap year const isLeap = year => { return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0); }; const nextNLeap = n => { const arr = []; let year = new Date().getFullYear()+1; while(arr.length < n){ if(isLeap(year++)){ arr.push(year-1); }; }; return arr; }; console.log(nextNLeap(5)); console.log(nextNLeap(25));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
[ 2024, 2028, 2032, 2036, 2040 ] [ 2024, 2028, 2032, 2036, 2040, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076, 2080, 2084, 2088, 2092, 2096, 2104, 2108, 2112, 2116, 2120, 2124 ]