在JavaScript中查詢接下來的n個閏年


我們需要編寫一個函式,該函式接收一個正整數n並返回接下來n個閏年的陣列。我們將把這個問題分成三個部分:

第一部分:透過JS查詢當前年份

透過JS查詢當前年份的程式碼如下:

// getting the current year from a new instance of Date object
const year = new Date().getFullYear();

第二部分:檢查閏年

現在,我們將編寫一個函式isLeap(),該函式接收一個數字,並根據該數字是否為閏年返回布林值。

如果滿足以下兩個條件中的至少一個,則該年份被認為是閏年:

  • 它是400的倍數。
  • 它是4的倍數,但不是100的倍數。

記住這些,讓我們編寫isLeap()函式:

// function to check for a leap year
const isLeap = year => {
   return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);
};

第三部分:查詢接下來的n個閏年

示例

// 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));

輸出

控制檯中的輸出將是:

[ 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
]

更新於:2020年8月28日

502 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.