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

Когда-то я публиковал статью о том, как склонять слова в зависимости от стоящих перед ними чисел на 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 в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 5

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

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

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал