Convert Roman Numerals
by Matthew Vasallo
JavaScript
const romans = ["C", "L", "X",
"V",
"I"
];
const romanNumeralBases = {
"I": 1,
"V": 5,
"X": 10,
"C": 50,
"L": 100
};
const romanNumeralNumbers = {
"1": "I",
"5": "V",
"10": "X",
"50": "L",
"100": "C"
};
const convertFromRomanNumeral = romanLetters => {
if (romanLetters.length === 1) {
return romanNumeralBases[romanLetters];
} else {
}
};
const convertToRomanNumeral2 = number => {
number = number.toString();
let romanString = "";
if (romanNumeralNumbers[number]) {
romanString = romanNumeralNumbers[number];
} else {
romans.forEach(roman => {
let remainder = number / roman;
let modulos = number % roman;
for (let i; i < Math.floor(remainder); i++) {
romanString += roman;
}
/* if (remainder > 1) {
romanString += roman;
romanString += convertToRomanNumeral2(remainder);
} */
console.log("roman string is", romanString);
});
/* for (let i = 0; i < number.length; i++) {
if (number[i]) {
for (let j = 0; j < number[i]; j++) {
romanString += "I";
}
}
} */
}
return romanString;
};
const convertToRomanNumeral = number => {
number = number.toString();
let romanString = "";
if (romanNumeralNumbers[number]) {
romanString = romanNumeralNumbers[number];
} else {
for (let i = 0; i < number.length; i++) {
if (number[i] < 4) {
for (let j = 0; j < number[i]; j++) {
romanString += "I";
}
}
}
}
return romanString;
};
/* console.log(convertFromRomanNumeral("I"));
console.log(convertFromRomanNumeral("V"));
console.log(convertFromRomanNumeral("X")); */
console.log(convertToRomanNumeral2(3));
console.log(convertToRomanNumeral(5));
console.log(convertToRomanNumeral(10));