Склонение слов с числительными (1 штука, 2 штуки, 5 штук)

// declination() склоняет числительные по разряду единиц указанного числа
function declination(number, titles) {
    cases = [2, 0, 1, 1, 1, 2];
    return number+" "+titles[(number%100>4 && number%100<20) ? 2 : cases[(number%10<5) ? number%10 : 5]];
}

Использование:

console.log(declination(1, ['штука','штуки','штук']))
console.log(declination(2, ['штука','штуки','штук']))
console.log(declination(3, ['штука','штуки','штук']))
console.log(declination(4, ['штука','штуки','штук']))
console.log(declination(5, ['штука','штуки','штук']))

Результат:

1 штука
2 штуки
3 штуки
4 штуки
5 штук