Computer >> Máy Tính >  >> Lập trình >> Javascript

Nối hậu tố vào số trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số, num, làm đối số đầu tiên và duy nhất.

Nhiệm vụ của hàm của chúng ta là thêm ‘st’, ‘nd’, ‘rd’, ‘th’ vào một số theo các mô tả sau:

  • st được sử dụng với các số kết thúc bằng 1 (ví dụ:1, được phát âm trước)
  • nd được sử dụng với các số kết thúc bằng 2 (ví dụ:92, phát âm là chín mươi giây)
  • rd được sử dụng với các số kết thúc bằng 3 (ví dụ:số 33, phát âm là ba mươi ba)
  • Ngoại lệ đối với các quy tắc trên, tất cả các số "tuổi teen" kết thúc bằng 11, 12 hoặc 13 đều sử dụng -th (ví dụ:11, phát âm là 11, 112, phát âm là một trăm [và] 12)
  • th được sử dụng cho tất cả các số khác (ví dụ:thứ 9, phát âm là thứ chín).

Ví dụ:nếu đầu vào của hàm là -

Đầu vào

const num = 4513;

Đầu ra

const output = '4513th';

Giải thích đầu ra

Mặc dù 4513 kết thúc bằng ba, 13 là một trường hợp ngoại lệ phải được thêm vào với th

Ví dụ

Sau đây là mã -

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));

Đầu ra

4513th