การแสดงส่วนของวันที่เป็นคำใน JavaScript
คุณรู้วิธีแสดงวันในสัปดาห์เป็นตัวเลขโดยใช้เมธอด getDay อยู่แล้ว อย่างไรก็ตาม บ่อยครั้งที่เราต้องการไม่ใช่หมายเลขวันในสัปดาห์ แต่เป็นชื่อข้อความของวันนั้น ลองเขียนโค้ดที่จะแปลงตัวเลขที่ส่งคืนโดยเมธอด getDay เป็นชื่อวันในสัปดาห์ที่เกี่ยวข้อง
เริ่มต้นด้วยการเขียนโค้ดที่จะแสดงหมายเลขวันในสัปดาห์ปัจจุบัน:
let date = new Date();
let day = date.getDay();
console.log(day);
ทีนี้มาปรับปรุงโค้ดนี้เพื่อให้แสดงชื่อวันในสัปดาห์ (เพื่อความกระชับ วันอาทิตย์จะเป็น 'อา', วันจันทร์ 'จ' และอื่นๆ)
เพื่อแก้ปัญหา เราจะสร้างอาร์เรย์ของวันในสัปดาห์ days และเริ่มจากวันอาทิตย์ (เนื่องจากเป็นวันศูนย์)
let days = ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'];
แล้วจะแสดง 'อ' บนหน้าจอโดยใช้อาร์เรย์นี้ได้อย่างไร? ต้องส่งหมายเลขวันนั้น (วันอังคารมีหมายเลข 2) ในวงเล็บเหลี่ยม:
let days = ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'];
console.log(days[2]); // จะแสดง 'อ'
อย่างไรก็ตาม เราไม่ต้องการส่งวันในสัปดาห์ด้วยตนเอง แต่ต้องการให้ JavaScript กำหนดวันปัจจุบันและแสดงชื่อของมันเอง ในการทำเช่นนี้ ต้องรวมสิ่งที่เมธอด getDay ส่งคืน และอาร์เรย์ days ของเรา:
let date = new Date();
let day = date.getDay();
let days = ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'];
console.log(days[day]);
ให้มีอาร์เรย์ต่อไปนี้:
let months = [
'ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.',
'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'
];
ให้แสดงชื่อเดือนปัจจุบันโดยใช้อาร์เรย์นี้