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));