ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข num เป็นอาร์กิวเมนต์แรกและตัวเดียวเท่านั้น
งานของฟังก์ชันของเราคือผนวก 'st', 'nd', 'rd', 'th' ต่อท้ายตัวเลขตามกฎต่อไปนี้:
- st ใช้กับตัวเลขที่ลงท้ายด้วย 1 (เช่น 1 ออกเสียงก่อน)
- nd ใช้กับตัวเลขที่ลงท้ายด้วย 2 (เช่น 92nd ออกเสียงเก้าสิบวินาที)
- rd ใช้กับตัวเลขที่ลงท้ายด้วย 3 (เช่น 33rd ออกเสียง 33)
- ยกเว้นกฎข้างต้น ตัวเลข "teen" ทั้งหมดที่ลงท้ายด้วย 11, 12 หรือ 13 ใช้ -th (เช่น 11, ออกเสียง eleventh, 112, อ่านว่า 100 [และ] สิบสอง)
- th ใช้สำหรับตัวเลขอื่นๆ ทั้งหมด (เช่น 9th, เก้าออกเสียง)
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
ป้อนข้อมูล
const num = 4513;
ผลผลิต
const output = '4513th';
คำอธิบายผลลัพธ์
แม้ว่า 4513 จะลงท้ายด้วยสาม แต่ 13 เป็นกรณียกเว้นที่ต้องต่อท้ายด้วย th
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const num = 4513; const appendText = (num = 1) => { let suffix = "th"; if (num == 0) suffix = ""; if (num % 10 == 1 && num % 100 != 11) suffix = "st"; if (num % 10 == 2 && num % 100 != 12) suffix = "nd"; if (num % 10 == 3 && num % 100 != 13) suffix = "rd"; return num + suffix; }; console.log(appendText(num));
ผลลัพธ์
4513th