Skip to content

Commit 206dc68

Browse files
committed
Implement ordinal number suffix rules
1 parent 3372770 commit 206dc68

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed
Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
1-
function getOrdinalNumber(num) {
2-
return "1st";
1+
function getOrdinalNumber(number) {
2+
const lastTwoDigits = number % 100;
3+
4+
// Special cases: 11, 12, 13 always use "th"
5+
if (lastTwoDigits >= 11 && lastTwoDigits <= 13) {
6+
return `${number}th`;
7+
}
8+
9+
const lastDigit = number % 10;
10+
11+
if (lastDigit === 1) {
12+
return `${number}st`;
13+
}
14+
15+
if (lastDigit === 2) {
16+
return `${number}nd`;
17+
}
18+
19+
if (lastDigit === 3) {
20+
return `${number}rd`;
21+
}
22+
23+
return `${number}th`;
324
}
425

5-
module.exports = getOrdinalNumber;
26+
module.exports = getOrdinalNumber;

0 commit comments

Comments
 (0)