const declension = forms => val => (
val = Math.abs(val) % 100,
forms[
[ 2, 0, 1, 1, 1, 2 ]
[+(val < 5 || 19 < val) && Math.min(val % 10, 5)]
]
);
const d = declension([ 'час', 'часа', 'часов' ]);
d(0) // 'часов'
d(2) // 'часа'
d(6191) // 'час'
d(-18) // 'часов'