Сначала я бы спросил, каковы суффиксы для всех входов?
- 'nd', 'rd', 'st', 'th' (большинство чисел)
Если они введут целое число с указанными выше префиксами, вы можете написатьследующая функция:
const getInteger = input => input.slice(0, -2);
const num = getInteger('999th');
console.log(num); // prints "999"
Если они входят в удлиненный вариант, это становится намного сложнее, особенно когда речь идет об опечатках, недостатке пробелов и т. д. Одним из способов может быть сопоставление однозначных слов ('один »,« два »и т. д.), десятки (« десять »,« двадцать »и т. д.), сотни, тысячи и т. д. вместо каждого мыслимого числа.Затем я бы проанализировал и нашел подходящие слова, чтобы получить результат.Это, как говорится, по-прежнему ограничивает.Я настоятельно рекомендую ограничить пользовательские форматы ввода.Почему пользователь не может ввести целое число?
const cardinalDictionary = {
'zero': 0,
'one': 1,
...,
'twenty',
...,
'hundred': 100,
'thousand': 1000,
};