javascript - 如何生成直到当年的年份数组?
问题描述
在下面的代码中,我可以生成年份数组,但它不是动态的。年份应从 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
提前致谢 :)
解决方案
用 获取年份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);
推荐阅读
- c# - 无法使用 Selenium 登录页面,但手动登录有效
- macos - 带有 Docker 的 ElasticSearch 7.10.1 在 Mac 下报告 java.net.UnknownHostException 但在 Linux 上不报告
- r - r lang for r 3.3 的问题
- javascript - 子组件的 NgClass 未触发
- r - 如何排除 predict.ranger 中的第一棵树?
- python - 如何理解python max函数中的key
- xml - Windows 10 多应用信息亭未打开所需站点或显示磁贴
- visual-studio-2019 - 如何根据 SonarLint for Visual Studio 的问题类型设置严重性?
- hive - 根据条件重置累积总和值并从当前行重新计算累积总和 - Hive/Spark Sql
- excel - 如何在 Excel 中“过滤”某些值,但始终将一致的行数作为输出