Tell us what’s happening:
Describe your issue in detail here.
Check the comment on my recursive function on the bottom. Is it possible to access the variable I’m asking for?
**Your code so far**
function convertToRoman(num) {
const Numerals = {
Roman: {
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
},
Arabic: {
1000 : 'M',
900: 'CM',
500: 'D',
400: 'CD',
100: 'C',
90: 'XC',
50: 'L',
40: 'XL',
10: 'X',
9: 'IX',
5: 'V',
4: 'IV',
1: 'I'
}
}
//console.log(Numerals.Roman.M + Numerals.Roman.M)
let conversionArr = [];
let mutableNum = num;
let decreasingNum = 0;
let decreasingNum2 = 0;
for (let key in Numerals.Roman) {
//console.log(key, Numerals.Roman[key]) //key, value syntax
decreasingNum = Math.max(mutableNum - Numerals.Roman[key])
if (decreasingNum >= 0) {
conversionArr.push(Numerals.Roman[key])
break; //important stops the for loop so it doesn't go [10,9,etc.]
}
}
console.log(decreasingNum);
console.log(recurseToZero(decreasingNum));
function recurseToZero(decNum) {
for (let key in Numerals.Roman) {
let newDecNum = Math.max(decNum - Numerals.Roman[key])
if (newDecNum >= 0) {
conversionArr.push(Numerals.Roman[key])
break;
}
}
if (newDecNum > 0) { //condition to keep recursing //How do I access the newDecNum inside the for loop?
recurseToZero(newDecNum);
}
}
}
convertToRoman(36);
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
Challenge: JavaScript Algorithms and Data Structures Projects - Roman Numeral Converter
Link to the challenge: