Функция склонения слов

Когда-то я публиковал статью о том, как склонять слова в зависимости от стоящих перед ними чисел на PHP. Теперь посмотрим, как это можно сделать на JavaScript.

var wordForm = function(num,word){  
	cases = [2, 0, 1, 1, 1, 2];  
	return word[ (num%100>4 && num%100<20)? 2 : cases[(num%10<5)?num%10:5] ];  
}

Пример использования функции:

var count = 31;
var result = $count+wordForm($count, [' комментарий', ' комментария', ' комментариев']);

Кстати говоря, по этому принципу можно переписать и нашу старую функцию склонения слов на PHP. Вот что получим:

<?php
function wordForm($num, $word) {
	$cases = array (2, 0, 1, 1, 1, 2);  
	return $word[ ($num%100 > 4 && $num %100 < 20) ? 2 : $cases[min($num%10, 5)] ];  
}
?>

И пример:

<?php
$count=31;
echo $count.' '.wordForm($count, array('комментарий', 'комментария', 'комментариев'));  
?>
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

Смотрите также