我想要一个带数字并返回英文计数的函数,例如: 3返回第3个
我的工作解决方案:
function GetEnglishCount(number) {
if ((number % 10 == 1) && (number % 100 != 11)) {
return number + "st";
}
else if ((number % 10 == 2) && (number % 100 != 12)) {
return number + "nd";
}
else if ((number % 10 == 3) && (number % 100 != 13)) {
return number + "rd";
}
else {
return number + "th";
}
}
有更优雅/准确的方法吗?
答案 0 :(得分:1)
您可以跳过else链接,因为return结束了该函数并删除了一些括号。
function GetEnglishCount(number) {
if (number % 10 === 1 && number % 100 !== 11) {
return number + "st";
}
if (number % 10 === 2 && number % 100 !== 12) {
return number + "nd";
}
if (number % 10 === 3 && number % 100 !== 13) {
return number + "rd";
}
return number + "th";
}
答案 1 :(得分:1)
这是写它的一种方式:
function GetEnglishCount(number) {
if([11,12,13].indexOf(number%100)+1)
return 'th'
switch(number%10){
case 1: return 'st'
case 2: return 'nd'
case 3: return 'rd'
}
return 'th'
}