ordinauxEnLettres(switch)

avec un switch

by toubia95

JavaScript

var ordinauxEnLettres = function(str, genre) {
	var result;
	var prem = (genre) ? "première": "premier"; // genre

	switch (str.slice(-1)) { // dernier caractère
    case "o":
    case "t":
    case "x":
			result = str + "ième";
			break;
		case "q":
			result = str + "uième";
			break;
		case "f":
			result = str.slice(0, str.length - 1) + "vième";
			break;
		case "e":
		  result = str.slice(0, str.length - 1) + "ième";
			break;
		case "s":
		  result = (str.slice(-2) == "ts") ? str.slice(0, str.length - 1) + "ième": str + "ième";
			break;
		case "n":
		  result = (str.slice(-5) == "et-un" || str.slice(-5) == "et un") ? str + "ième" : prem;
			break;
    default:
      result = str;
	}
  return result;
};
console.clear();
console.log(ordinauxEnLettres("deux"));
console.log(ordinauxEnLettres("trois"));
console.log(ordinauxEnLettres("six"));
console.log(ordinauxEnLettres("zéro"));
console.log(ordinauxEnLettres("huit"));
console.log(ordinauxEnLettres("quatre"));
console.log(ordinauxEnLettres("cinq"));
console.log(ordinauxEnLettres("neuf"));
console.log(ordinauxEnLettres("deux-cents"));
console.log(ordinauxEnLettres("un"));
console.log(ordinauxEnLettres("Un"));
console.log(ordinauxEnLettres("un", 1));
console.log(ordinauxEnLettres("cinquante et un"));
console.log(ordinauxEnLettres("soixante-et-un"));