Склонение слов на JavaScript

Сегодня в статье мы поговорим с вами о довольно полезных функциях js. Их задача заключается в следующем - правильно выбирать существительное ну или прилагательное в зависимости от числа которое предшествует им.

пример
«1 свежая статья», «2 свежих статьи» и так далее.


Довольно большое количество программистов делает вывод так
«новых комментариев — 1». Чесно говоря это не по нашему, а по-программистски.

И так для начала нам понадобится две функции. Одна будет назначена для склонения существительных, другая для склонения прилагательных.

Склонение существительных

В зависимости от того в какой количественной группе будет существительное, выбирается то или иное окончание

пример
1 — яблоко 2 — яблока 5 — яблок

Отрицательные числа обрабатываются также, как и абсолютные.

функция :
GetNoun = function(number, one, two, five) {
    number = Math.abs(number);
    number %= 100;
    if (number >= 5 && number <= 20) {
        return five;
    }
    number %= 10;
    if (number == 1) {
        return one;
    }
    if (number >= 2 && number <= 4) {
        return two;
    }
    return five;
}

Из функции видно, что задано 4-е параметра - само число и три строчных параметра, они и соответствуют склонению существительного с числами.

пример
GetNoun(6, 'яблоко', 'яблока', 'яблок') // Вернет «яблок»


Склонение прилагательных

Здесь все еще довольно проще, если число оканчивается на 1 (не катит 11) то выбирается «свежее».

функция
GetAdj = function(number, one, two) {
    number %= 100;
    if (number == 11) return two;
    number %= 10;
    if (number == 1) return one;
    return two;
}

Пример
GetAdj(6,'свежее', 'свежих') // Вернет «свежих»
Теги:
Склонение слов
Добавлено: 17 Мая 2018 20:37:59 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...