Files
30-seconds-of-code/snippets/ordinal-suffix-of-number.md
Angelos Chalaris aac891ad96 Build README
2017-12-14 10:17:37 +02:00

583 B

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.

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"