works:programmer:js:rus-ago-number-suffixes

Правильный генератор суффиксов для rusNumberAgo

Писал для себя получился очень работоспособный вариант.

function rusNumberMutal(value, once, twice, more) {
    const mod10 = value % 10, mod100 = value % 100;
    switch (true) {
        case mod100 == 11 || mod100 == 12 || mod100 == 13 || mod100 == 14 : return [value, more];
        case mod10 == 1 : return [value, once];
        case mod10 == 2 || mod10 == 3 || mod10 == 4: return [value, twice];
        default: return [value, more];
    }
}

Тестовая строка в виде пирогов `1002 пирога`

Array(1200).fill(null)
  .map((_,x) => rusNumberMutal(x, "пирог", "пирога", "пирогов"))
  .forEach(res => console.log(res.join(" ")));
works/programmer/js/rus-ago-number-suffixes.txt · Last modified: 2022/10/19 11:49 by Chugreev Eugene