Сегодня в статье мы поговорим с вами о довольно полезных функциях 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,'свежее', 'свежих') // Вернет «свежих»