การอภิปรายเกี่ยวกับการนำปฏิทินไปปฏิบัติใน JavaScript
ปฏิทินของเราเป็นตาราง
ที่มีตัวเลขตั้งแต่ 1 ถึงวันสุดท้ายของเดือน
ปัญหาคือตัวเลขในตารางแถวแรก
ไม่ควรเริ่มจากเซลล์แรก
โดยทั่วไปนี่เป็นที่ชัดเจน ไม่ชัดเจนว่า ควรเริ่มจากเซลล์ไหนกันแน่ มาลองคิดดู
สมมติว่าสัปดาห์เริ่มจากวันจันทร์ และ
มันเป็นวันศูนย์ ในกรณีนี้หมายเลขวัน
ในสัปดาห์ของวันที่ 1 ของเดือนจะสอดคล้องกับ
จำนวนเซลล์ว่างก่อนหน้ามัน ตัวอย่างเช่น
วันพฤหัสบดีจะมีหมายเลข 3 และก่อน
หน้ามันจะมีเซลล์ว่าง 3 เซลล์
ปัญหาที่คล้ายกันจะรอเราอยู่ในตอนท้ายของ ตาราง ที่นั่นก็ต้องเว้น เซลล์ว่างหลังจากวันสุดท้ายของเดือน ในกรณีนี้ จำนวนเซลล์ว่างจะเท่ากับ หก ซึ่งต้องลบด้วยหมายเลขวัน ในสัปดาห์ของวันสุดท้ายของเดือน
ตอนนี้มาคิดว่าเราจะสร้าง
ตารางของเราอย่างไร ชัดเจนว่าสะดวกที่สุด
คือมีอาร์เรย์สองมิติ ในแต่ละอาร์เรย์ย่อย
จะมี 7 องค์ประกอบ (= จำนวน
วันในสัปดาห์) ในขณะที่ในอาร์เรย์ย่อยแรกและสุดท้าย
องค์ประกอบบางส่วนควรเป็นค่าว่าง
อัลกอริทึมการดำเนินการ
มาสร้างฟังก์ชันที่จะสร้างอาร์เรย์
ตัวเลขตั้งแต่ 1 ถึงวันสุดท้ายของเดือน
จากนั้นสร้างฟังก์ชันที่จะเพิ่ม
องค์ประกอบว่างจำนวนที่จำเป็น
ที่จุดเริ่มต้นของอาร์เรย์ ฟังก์ชันที่คล้ายกันควรเพิ่ม
องค์ประกอบว่างที่ส่วนท้ายของอาร์เรย์
หลังจากนั้นเราจะได้อาร์เรย์หนึ่งมิติ
ที่มีจำนวนองค์ประกอบเป็นพหุคูณของ 7
แปลงอาร์เรย์นี้เป็นสองมิติ โดยมี 7
องค์ประกอบในอาร์เรย์ย่อย
จากนั้นนำอาร์เรย์สองมิตินี้ วนลูป และสร้างตารางของเรา
เราจะดำเนินการตามอัลกอริทึมการกระทำนี้ เป็นขั้นตอนในบทเรียนต่อไป