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

การต่อท้ายส่วนต่อท้ายให้ตัวเลขใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข num เป็นอาร์กิวเมนต์เดียว

ภารกิจของฟังก์ชันคือต่อท้าย 'st', 'nd', 'rd', 'th' ให้กับตัวเลขตามกฎต่อไปนี้:

  • st ใช้กับตัวเลขที่ลงท้ายด้วย 1 (เช่น 1st อ่านว่า first)
  • nd ใช้กับตัวเลขที่ลงท้ายด้วย 2 (เช่น 92nd อ่านว่า ninety-second)
  • rd ใช้กับตัวเลขที่ลงท้ายด้วย 3 (เช่น 33rd อ่านว่า thirty-third)
  • เป็นข้อยกเว้นจากกฎข้างต้น ตัวเลข "teen" ทั้งหมดที่ลงท้ายด้วย 11, 12 หรือ 13 ใช้ -th (เช่น 11th อ่านว่า eleventh, 112th อ่านว่า one hundred [and] twelfth)
  • th ใช้สำหรับตัวเลขอื่นๆ ทั้งหมด (เช่น 9th อ่านว่า ninth)

ตัวอย่างเช่น หากอินพุตคือ

อินพุต

const num = 4513;

เอาต์พุต

const output = '4513th';

คำอธิบายเอาต์พุต

แม้ 4513 จะลงท้ายด้วย 3 แต่ 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