ฟังก์ชันนี้คำนวณว่าอีก n วันจากวันนี้จะเป็นวันอะไร
ตัวอย่าง
// วันนี้ = Monday, n = 2 // Output: Wednesday
ตัวอย่างโค้ด
const num = 15;
const findNthDay = num => {
const weekday = new Array(7);
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
weekday[7] = "Sunday";
const day = new Date().getDay(); // 0=Sun, 1=Mon, ..., 6=Sat
const daysFromNow = num % 7;
return weekday[(day + daysFromNow) % 7];
};
console.log(findNthDay(num));
ข้อผิดพลาดในโค้ดต้นฉบับ
- อาร์เรย์
weekdayเริ่มที่ index 1 แต่getDay()คืน 0-6 (0=Sunday) - การคำนวณ
(day + daysFromNow) % 7อาจได้ 0 ซึ่งไม่มีในอาร์เรย์
โค้ดที่ถูกต้อง
const findNthDay = num => {
const weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const day = new Date().getDay(); // 0-6
const daysFromNow = num % 7;
return weekday[(day + daysFromNow) % 7];
};
ผลลัพธ์ตัวอย่าง
Friday