2020-05-27
描述
为一个数字添加序数后缀。
提示
- 使用模运算符(
%
)获取个位和十位的值 - 找出匹配的序数后缀
- 如果模运算结果在 11-19 中,则使用
th
代码
const toOrdinalSuffix = num => {
const int = parseInt(num),
digits = [int % 10, int % 100],
ordinals = ['st', 'nd', 'rd', 'th'],
oPattern = [1, 2, 3, 4],
tPattern = [11, 12, 13, 14, 15, 16, 17, 18, 19];
return oPattern.includes(digits[0]) && !tPattern.includes(digits[1])
? int + ordinals[digits[0] - 1]
: int + ordinals[3];
};
示例
为下列数字添加序数后缀:
toOrdinalSuffix('123'); // "123rd"
toOrdinalSuffix('113'); // "113th"