Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาวันที่ n วันจากวันนี้ - JavaScript (JS Date)

ฟังก์ชันนี้คำนวณว่าอีก 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