Как сделать склонение слов в зависимости от числа?

Есть таймер обратно отчета - https://codepen.io/code-md/pen/GBoMKJ

Нужно, чтобы слова под числами меняли свое окончание в зависимости от цифр, например:

1 день, 2 дня, 10 дней;
1 секунда, 2 секунды, 5 секунд.....;

Нужно для дней, часов, минут, секунд.
  • Вопрос задан
  • 21951 просмотр
Решения вопроса 1
makarenya
@makarenya
программист
С ГитХаба

function getNoun(number, one, two, five) {
    let n = Math.abs(number);
    n %= 100;
    if (n >= 5 && n <= 20) {
      return five;
    }
    n %= 10;
    if (n === 1) {
      return one;
    }
    if (n >= 2 && n <= 4) {
      return two;
    }
    return five;
  }


Используется так:
alert("4 " + getNoun(4, 'слон', 'слона', 'слонов'));

Выведет сообщение 4 слона.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы