Пример функции для склонения слов в 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