16 lines
587 B
Markdown
16 lines
587 B
Markdown
### Get Ordinal Suffix of Number
|
|
|
|
Use the modulo operator (`%`) to find values of single and tens digits.
|
|
Find which ordinal pattern digits match.
|
|
If digit is found in teens pattern, use teens ordinal.
|
|
|
|
```js
|
|
const toOrdinalSuffix = num => {
|
|
const int = parseInt(num), digits = [(int % 10), (int % 100)],
|
|
ordinals = ["st", "nd", "rd", "th"], oPattern = [1,2,3,4],
|
|
tPattern = [11, 12, 13, 14, 15, 16, 17, 18, 19]
|
|
return oPattern.includes(digits[0]) && !tPattern.includes(digits[1]) ? int + ordinals[digits[0]-1] : int + ordinals[3];
|
|
}
|
|
// toOrdinalSuffix("123") -> "123rd"
|
|
```
|