Hey guys!
Check this recursive function solution for the Roman numeral converter. For some reason I don’t pass any of the tests. Why could it be?
let numbersRoman = {
'M': 1000,
'CM': 900,
'D': 500,
'CD': 400,
'C': 100,
'XC': 90,
'L': 50,
'XL': 40,
'X': 10,
'IX': 9,
'V': 5,
'IV': 4,
'I': 1
}
const numbersArabic = Object.values(numbersRoman)
function getKeyByValue(object, value) {
return Object.keys(object).find(key => object[key] === value);
}
let res = ''
function convertToRoman(num) {
let modArr = numbersArabic.map(val => num%val)
let check = modArr.findIndex(v => v!== num)
let filtered = modArr.filter(v => v!==num)
if(filtered.length!==0){
for(let i = 0; i < Math.floor(num/numbersArabic[check]); i++){
res = res + getKeyByValue(numbersRoman, numbersArabic[check])
}
convertToRoman(filtered[0])
}
return res
}
console.log(convertToRoman(4600))
Thank you in advance for your help!