Склоняем слова на JS

946 просмотров
Автор: Николай Ковалёв

Ранее я писал статью про склонение слов на PHP. Сейчас же поговорим о склонении на JS.

Сразу смотрим готовую функцию:

function NikolausDeclination(number) {
	var dec_list = {
		0 : "комментарий", // 1 комментарий
		1 : "комментария", // 4 комментария
		2 : "комментариев" // 5 комментариев
	}

	var ost = number % 100;

	if(ost >= 11 && ost <= 19)
	{
	    var ending = dec_list[2];
	}
	else
	{
	    var i = number % 10;
	    switch(i)
		{
		    case (1): ending = dec_list[0]; break;
		    case (2):
		    case (3):
		    case (4): ending = dec_list[1]; break;
		    default: ending = dec_list[2];
		}
	}
	return number + ' ' + ending;
}

В функцию нужно передать число, а на выходе получиться число + склоненное слово. Пример работы смотрите в демо.

5.00 2 голоса
Валюта цен: BYN RUB