как добавлять порядковые суффиксы к числам в javascript с учетом исключений и циклов

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 декабря 2024

Для создания функции, которая добавляет порядковые суффиксы к числам, вы можете использовать простую логику и некоторый операторный анализ чисел. Основные суффиксы в русском языке:

  • 1 — "й" (если число оканчивается на 1, но не на 11);
  • 2, 3, 4 — "и" (если число оканчивается на 2, 3 или 4, но не на 12, 13, 14);
  • 5-9, 0, 11-14 — "ых" (для всех остальных случаев).

Вот как это может выглядеть в коде:

function getOrdinalSuffix(number) {
    const lastDigit = number % 10;  // Последняя цифра числа
    const lastTwoDigits = number % 100;  // Последние две цифры числа

    if (lastTwoDigits >= 11 && lastTwoDigits <= 14) {
        return 'ых';  // Особый случай: 11-14
    }

    switch (lastDigit) {
        case 1:
            return 'й';   // 1
        case 2:
        case 3:
        case 4:
            return 'и';   // 2, 3, 4
        default:
            return 'ых';  // 0, 5-9
    }
}

// Пример использования функции
for (let i = 1; i <= 20; i++) {
    console.log(`${i} ${getOrdinalSuffix(i)} место`);
}

При запуске данного кода вы получите вывод:

1 й место
2 и место
3 и место
4 и место
5 ыx место
6 ыx место
7 ыx место
8 ыx место
9 ыx место
10 ыx место
11 ыx место
12 ыx место
13 ыx место
14 ыx место
15 ыx место
16 ыx место
17 ыx место
18 ыx место
19 ыx место
20 ыx место
0 0