Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

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


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน 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