Skip to content

Instantly share code, notes, and snippets.

@Defite
Created April 28, 2020 13:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Defite/1d710ae3eac06f5eeed7f8a4f9e47ff8 to your computer and use it in GitHub Desktop.
Save Defite/1d710ae3eac06f5eeed7f8a4f9e47ff8 to your computer and use it in GitHub Desktop.
Plural.js
/**
* Get plural by number
* @param {Number} value - number
* @param {Array} cases - array of cases
* @returns {String} case
*/
const plural = (value, cases) => {
let n = Math.abs(value);
n %= 100;
if (n >= 5 && n <= 20) {
return cases[2];
}
n %= 10;
if (n === 1) {
return cases[0];
}
if (n >= 2 && n <= 4) {
return cases[1];
}
return cases[2];
};
//Usage
console.log(20, plural(20, ['минута', 'минуты', 'минут'])); // 20 минут
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment