Pembahasan Implementasi Kalender dalam JavaScript
Kalender kami adalah sebuah tabel
dengan angka dari 1 hingga hari terakhir bulan.
Masalahnya adalah, angka dalam tabel pada baris pertama
tidak boleh dimulai dari sel pertama.
Secara umum ini sudah jelas. Yang tidak jelas adalah dari sel mana tepatnya harus memulai. Mari kita pikirkan.
Misalkan minggu dimulai dari Senin, dan
itu adalah hari ke-nol. Dalam hal ini, nomor hari
minggu dari tanggal pertama bulan sesuai dengan
jumlah sel kosong di depannya. Misalnya,
Kamis akan memiliki nomor 3 dan di
depannya akan ada 3 sel kosong.
Masalah serupa akan menunggu kita di akhir tabel. Di sana juga perlu meninggalkan sel kosong setelah tanggal terakhir bulan. Dalam hal ini, jumlah sel kosong akan sama dengan enam, dikurangi nomor hari minggu dari hari terakhir bulan.
Sekarang mari pikirkan, bagaimana kita akan membentuk
tabel kita. Jelas bahwa paling mudah
untuk memiliki array dua dimensi, di setiap sub-array
akan ada 7 elemen (= jumlah
hari dalam seminggu). Sementara itu, pada sub-array pertama dan terakhir
sebagian elemen harus kosong.
Algoritma Tindakan
Kita buat fungsi yang akan membuat array
angka dari 1 hingga hari terakhir bulan.
Kemudian buat fungsi yang akan menambahkan
di awal array sejumlah elemen kosong yang diperlukan.
Fungsi serupa harus menambahkan
elemen kosong di akhir array.
Setelah itu, kita akan mendapatkan array satu dimensi
dengan jumlah elemen yang merupakan kelipatan 7.
Ubah array ini menjadi dua dimensi dengan 7
elemen dalam sub-array.
Kemudian ambil array dua dimensi ini, ulangi dengan perulangan dan bentukkan tabel kita.
Algoritma tindakan ini akan kita jalankan secara bertahap dalam pelajaran-pelajaran berikutnya.