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