js实现查找到序数
查找序数的实现方法
在JavaScript中查找序数(ordinal numbers)通常涉及将数字转换为对应的序数形式,例如1变为"1st",2变为"2nd",3变为"3rd"等。以下是几种实现方法:

使用条件判断
通过判断数字的最后一位或最后两位来确定序数后缀:

function getOrdinal(num) {
const j = num % 10;
const k = num % 100;
if (j === 1 && k !== 11) {
return num + "st";
}
if (j === 2 && k !== 12) {
return num + "nd";
}
if (j === 3 && k !== 13) {
return num + "rd";
}
return num + "th";
}
使用数组映射
预定义后缀规则并通过数组查找:
function getOrdinal(num) {
const suffixes = ["th", "st", "nd", "rd"];
const v = num % 100;
return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);
}
国际化API(Intl.PluralRules)
利用现代JavaScript的国际化API:
function getOrdinal(num) {
const rules = new Intl.PluralRules('en', { type: 'ordinal' });
const suffix = {
one: 'st',
two: 'nd',
few: 'rd',
other: 'th'
}[rules.select(num)];
return num + suffix;
}
注意事项
- 处理负数时需要先取绝对值。
- 边界情况(如0、小数)需要单独处理。
- 不同语言地区的序数规则可能不同,需根据实际需求调整。






