簡體   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