We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 54a5617 commit c5f8e47Copy full SHA for c5f8e47
Sprint-3/2-practice-tdd/get-ordinal-number.js
@@ -1,5 +1,28 @@
1
function getOrdinalNumber(num) {
2
- return "1st";
+ 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
18
+ case positiveNumber % 10 == 3 && positiveNumber % 100 != 13:
19
+ suffix = "rd";
20
21
+ default:
22
+ suffix = "th";
23
24
25
+ return `${integerNumber}${suffix}`;
26
}
27
28
module.exports = getOrdinalNumber;
0 commit comments