首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中创建从当前日期算起的一周7天的数字数组(例如,0表示周日,1表示周一等)?

如何在javascript中创建从当前日期算起的一周7天的数字数组(例如,0表示周日,1表示周一等)?
EN

Stack Overflow用户
提问于 2020-09-19 13:45:44
回答 2查看 177关注 0票数 0

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

示例1:

当前星期几:0(星期日)

输出:[2, 3, 4, 5, 6, 0, 1]

示例2:

现在是星期几:3(星期三)

输出:[5, 6, 0, 1, 2, 3, 4]

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

EN

回答 2

Stack Overflow用户

发布于 2020-09-19 13:51:57

要获得天数组,可以使用下面的函数

代码语言:javascript
复制
function getDays(num) {
    const arr = [];
    for (let i = 2; i <= 8; i++) {
        arr.push((num + i) % 7);
    }
    return arr;
}

要获得与数字对应的日期,可以使用以下函数

代码语言:javascript
复制
function getDay(num) {
    const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    return days[num];
}

将这两者结合起来以获得所需的结果

代码语言:javascript
复制
const days = getDays(0); // [2, 3, 4, 5, 6, 0, 1];
const displayNames = days.map(getDay); // ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday"]
票数 1
EN

Stack Overflow用户

发布于 2020-09-19 13:53:26

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

代码语言:javascript
复制
const date = new Date();
const todayIndex = date.getDay();
console.log(todayIndex);

然后,您只需将今天的索引添加到0-7范围内的每个数字-并使用模运算符来确保您处于此范围内:

代码语言:javascript
复制
const todayIndex = new Date().getDay();
const ans = [...Array(7).keys()].map(x => (x + todayIndex) % 7);

console.log({ todayIndex, ans });

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63965644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档