這是一個簽到活動頁面,需要顯示給使用者知道幾號到幾號可以簽到,以及是否簽到。現在需要前端生成一組日期區間,例如當使用者在 8/1 進入頁面時,顯示以下畫面: ![](https://hackmd.io/_uploads/S14fMBPj3.png) 該畫面會需要一個陣列來顯示畫面: ```js [ "簽到活動 07/03 ~ 07/09", "簽到活動 07/10 ~ 07/16", "簽到活動 07/17 ~ 07/23", "簽到活動 07/24 ~ 07/30", "簽到活動 07/31 ~ 08/06", ] ``` 你的任務是使用 JavaScript 完成一個 function,function 內接收一個參數,參數為起始日期,並且輸出五周的時間區間。 ```js function generateSignList(startTime){ // Do your magic... } const list = generateSignList("2023/08/01") /** * 得到 [ "簽到活動 07/03 ~ 07/09", "簽到活動 07/10 ~ 07/16", "簽到活動 07/17 ~ 07/23", "簽到活動 07/24 ~ 07/30", "簽到活動 07/31 ~ 08/06", ] **/ console.log(list) ``` 另外需要注意的是,如果起始日位於當月的第一個禮拜一時,改為顯示上個月五周的時間區間。 例如 8 月的第一個禮拜一是 8/7, 當使用者在 8/1 進去頁面時,function 會回傳: ```js [ "簽到活動 07/03 ~ 07/09", "簽到活動 07/10 ~ 07/16", "簽到活動 07/17 ~ 07/23", "簽到活動 07/24 ~ 07/30", "簽到活動 07/31 ~ 08/06", ] ``` 當使用者在 8/8(8 月的第一個禮拜一之後)進入頁面,function 回傳: ```js [ "簽到活動 08/07 ~ 08/13", "簽到活動 08/14 ~ 08/20", "簽到活動 08/21 ~ 08/27", "簽到活動 08/28 ~ 09/03", "簽到活動 09/04 ~ 09/10" ] ``` 額外補充,可使用這個套件處理時間: https://momentjs.com/