在 JavaScript 中为数字附加后缀

问题

我们需要编写一个 JavaScript 函数,它接受一个数字 num 作为第一个也是唯一的参数。

我们函数的任务是根据以下规则将 'st', 'nd', 'rd', 'th' 附加到数字上:

  • st 与以 1 结尾的数字一起使用(例如 1st,首先发音)

  • nd 与以 2 结尾的数字一起使用(例如 92nd,发音为 90 秒)

  • rd 与以 3 结尾的数字一起使用(例如 33rd,发音为 3/3)

  • 作为上述规则的一个例外,所有以 11、12 或 13 结尾的“青少年”数字都使用 - th(例如,11th,发音为 11th,112th,发音为 100 [and] 12th)

  • th 用于所有其他数字(例如 9th,发音为 9th)。

例如,如果函数的输入是 -

输入

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