繁体   English   中英

如何在javascript中从当前日期起7天创建一个星期几的数组(即0表示星期日,1表示星期一等)?

[英]How to create an array of numbers of the days of the week (i.e. 0 for sunday, 1 for monday, etc.) 7 days from current date in javascript?

标题可能令人困惑,所以我将在这里进一步解释。 我希望创建一个数组,其中包含每天的星期几,例如,从当前日期起 2-7 天。 给出的起始数字只是一个 0-6 的整数,对应于一周中的天数。

示例 1:

星期几:0(星期日)
输出: [2, 3, 4, 5, 6, 0, 1]

示例 2:

星期几:3(星期三)
输出: [5, 6, 0, 1, 2, 3, 4]

这样做的用途是将这些数字转换为日期的实际名称,并使用它们来显示一些数据。

要获取天数数组,您可以使用以下函数

function getDays(num) {
    const arr = [];
    for (let i = 2; i <= 8; i++) {
        arr.push((num + i) % 7);
    }
    return arr;
}


并且要得到一个数字对应的日期,你可以使用这个函数

function getDay(num) {
    const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    return days[num];
}

结合这两个以获得所需的结果

const days = getDays(0); // [2, 3, 4, 5, 6, 0, 1];
const displayNames = days.map(getDay); // ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday"]

首先,你需要今天的索引:

 const date = new Date(); const todayIndex = date.getDay(); console.log(todayIndex);

然后,您可以将今天的索引添加到 0-7 范围内的每个数字 - 并使用模运算符确保您保持在此范围内:

 const todayIndex = new Date().getDay(); const ans = [...Array(7).keys()].map(x => (x + todayIndex) % 7); console.log({ todayIndex, ans });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM