Пример функции для склонения слов в JavaScript
Если на сайте нужно выполнить склонение слова в зависимости от числа, то можно воспользоваться этой функцией:
var numToStr = function(num, arrText) {
if (num % 10 === 1 && num % 100 !== 11) {
return arrText[0];
} else if (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)) {
return arrText[1];
}
return arrText[2];
}
Как её пользоваться? Очень просто.
Необходимо её вызвать и передать ей в качестве первого параметра число, а в качестве второго параметра массив, состоящий из существительного имеющего различные склонения.
Первый элемент массива (например, оценка) – для чисел 1, 21, 31, …, 101, …
Второй элемент массива (например, оценки) – для чисел, 2, 3, 4, 22, 23, …, 102, …,
Третий элемент массива (например, оценок) – для всех остальных чисел, т.е. 5, 6, 7, 8, 9, 10, 11, …, 25, 26, …, 105, …
Например, выражение:
2 + numToStr(2, [' оценка', ' оценки', ' оценок']) // вернёт: 2 оценки
Ответы: 0