Files
30-seconds-of-code/snippets/toOrdinalSuffix.md
Isabelle Viktoria Maciohsek 27c168ce55 Bake date into snippets
2021-06-13 13:55:00 +03:00

805 B

title, tags, firstSeen, lastUpdated
title tags firstSeen lastUpdated
toOrdinalSuffix math,intermediate 2017-12-17T17:55:51+02:00 2020-11-13T19:49:57+02:00

Takes a number and returns it as a string with the correct ordinal indicator suffix.

  • 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'