Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Thêm hậu tố cho số trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một số num làm đối số duy nhất. Nhiệm vụ của hàm là thêm 'st', 'nd', 'rd', 'th' vào số theo các quy tắc sau:

  • st dùng cho số kết thúc bằng 1 (ví dụ: 1st)
  • nd dùng cho số kết thúc bằng 2 (ví dụ: 92nd)
  • rd dùng cho số kết thúc bằng 3 (ví dụ: 33rd)
  • Ngoại lệ: các số "teen" kết thúc bằng 11, 12, 13 dùng -th (ví dụ: 11th, 112th)
  • th dùng cho tất cả các số còn lại (ví dụ: 9th)

Ví dụ, nếu đầu vào là:

Đầu vào

const num = 4513;

Đầu ra

const output = '4513th';

Giải thích

Dù 4513 kết thúc bằng 3, nhưng 13 là trường hợp ngoại lệ phải thêm 'th'.

Ví dụ

Dưới đây là mã thực hiện:

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

Kết quả

4513th