Skip to content

Commit c5f8e47

Browse files
committed
Implement get-ordinal-numbers
1 parent 54a5617 commit c5f8e47

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed
Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
function getOrdinalNumber(num) {
2-
return "1st";
2+
if (typeof num != "number" || !Number.isInteger(num)) {
3+
throw new Error("Please enter an integer");
4+
}
5+
6+
const integerNumber = parseInt(num);
7+
const positiveNumber = Math.abs(integerNumber);
8+
9+
let suffix;
10+
11+
switch (true) {
12+
case positiveNumber % 10 == 1 && positiveNumber % 100 != 11:
13+
suffix = "st";
14+
break;
15+
case positiveNumber % 10 == 2 && positiveNumber % 100 != 12:
16+
suffix = "nd";
17+
break;
18+
case positiveNumber % 10 == 3 && positiveNumber % 100 != 13:
19+
suffix = "rd";
20+
break;
21+
default:
22+
suffix = "th";
23+
}
24+
25+
return `${integerNumber}${suffix}`;
326
}
427

528
module.exports = getOrdinalNumber;

0 commit comments

Comments
 (0)