首页 > 解决方案 > 如何生成直到当年的年份数组?

问题描述

在下面的代码中,我可以生成年份数组,但它不是动态的。年份应从 1901 年开始,current year并以相反的顺序排列。

const theDates = [];
let cell = 1900;

for (let x = 0; x < 24; x += 1) {
  const row = [];
  
  for (let y = 0; y < 5; y += 1) {
    row.push(cell += 1);
  }
  
  theDates.push(row.reverse());
}

console.log(JSON.stringify(theDates.reverse()).toString());

目前,我正在生成数年,2020但我正在对其进行硬编码。我需要像下面这样的东西,说这是一年2023

[[2023,2022,2021,2020,2019], ... [1903,1902,1901,null,null]]

在任何给定的时间点,内部数组中应该有 5 个项目,最后一个空数组值可以是null

提前致谢 :)

标签: javascript

解决方案


用 获取年份new Date().getFullYear(),然后您可以在年份大于 1901 时推送 5 的块:

const theDates = [];
for (let year = new Date().getFullYear(); year !== null;) {
  const row = [];
  for (let i = 0; i < 5; i++, year = (year > 1901 ? year - 1 : null)) {
    row.push(year);
  }
  theDates.push(row);
}
console.log(theDates);

2020 年以外的年份示例:

const theDates = [];
for (let year = 2023; year !== null;) {
  const row = [];
  for (let i = 0; i < 5; i++, year = (year > 1901 ? year - 1 : null)) {
    row.push(year);
  }
  theDates.push(row);
}
console.log(theDates);


推荐阅读