I will. Thank you so much ![]()
look:
function consoling(){
console.log("Hey")
}
consoling()
console.log(consoling())
/*
Output:
Hey
Hey
undefined
*/
And for this one:
function returning(){
return "Hey"
}
returning()
console.log(returning())
/*
Output:
Hey
*/
I believe you can catch difference from this little tests
The only difference I can catch the function consoling(), undefined is displayed as a result too. What does that signify, I don’t know yet.
On console, consoling() solution is Hey without string but its type is still string and for returning() function is “Hey” and its type is obviously string.
function consoling(){
console.log("Hey")
}
consoling()//this line - the reason for the first 'hey'
//BUT 'hey' happens because your function is logging it
//function returning undefined here, but it's not assigned or used
//so you don't see it in the output
console.log(consoling())
//here we see another 'hey', again, function has some logging in its body
//and here you can see undefined in the output because
//you are LOGGING function call
/*
Output:
Hey
Hey
undefined
*/
I suggest you to try and explain the returning example in the similar fashion, if you’re still confused by this things.
Hi @admit8490 @staranbeer ,
So, I refactored my code. I could finally see where I was going wrong.
const romanToArabic = {
//Testing 1 to 10 numerals
I : 1,
IV : 4,
V : 5,
IX: 9,
X: 10
}
let str = "";
function convertToRoman(num) {
let numeralWithLeastDifference;
for(let item in romanToArabic){
if(num === romanToArabic[item]){
str += item;
break;
}
else if (num > romanToArabic[item]){
numeralWithLeastDifference = romanToArabic[item]
}
}
//console.log(numeralWithLeastDifference)
for (let item in romanToArabic){
if (numeralWithLeastDifference === romanToArabic[item]){
str+= item
num = num - numeralWithLeastDifference;
convertToRoman(num)
}
}
return str;
}
convertToRoman(8);
However, now console in my chrome browser returning the right answer, but the tests again aren’t passing.
Thanks much @admit8490 for python tutor. Such an incredible tool to help you visualise your code.
Thank you all so much again,
Deeti
tests for your new code
Output:
tests for onedigit numbers
CASE: 2
expected: II
fact: II
----
CASE: 3
expected: III
fact: IIIII
----
CASE: 4
expected: IV
fact: IIIIIIVIIII
----
CASE: 5
expected: V
fact: IIIIIIVIIIIVIVI
----
CASE: 9
expected: IX
fact: IIIIIIVIIIIVIVIIXVIVIIII
----
------------
tests for twodigit numbers
CASE: 12
expected: XII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXII
----
CASE: 16
expected: XVI
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVI
----
CASE: 29
expected: XXIX
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIII
----
CASE: 44
expected: XLIV
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIII
----
CASE: 45
expected: XLV
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVI
----
CASE: 68
expected: LXVIII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIII
----
CASE: 83
expected: LXXXIII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIII
----
CASE: 97
expected: XCVII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVII
----
CASE: 99
expected: XCIX
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIII
----
------------
tests for threedigit numbers
CASE: 400
expected: CD
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXI
----
CASE: 500
expected: D
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXI
----
CASE: 501
expected: DI
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXI
----
CASE: 649
expected: DCXLIX
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIII
----
CASE: 798
expected: DCCXCVIII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIII
----
CASE: 891
expected: DCCCXCI
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXI
----
------------
tests for fourdigit numbers
CASE: 1000
expected: M
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXI
----
CASE: 1004
expected: MIV
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIII
----
CASE: 1006
expected: MVI
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVI
----
CASE: 1023
expected: MXXIII
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIII
----
CASE: 2014
expected: MMXIV
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIII
----
CASE: 3999
expected: MMMCMXCIX
fact: IIIIIIVIIIIVIVIIXVIVIIIIXIIXVIXXIXVIVIIIIXXXXIVIIIIXXXXVIVIXXXXXXVIIIXXXXXXXXIIIXXXXXXXXXVIIXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIVIIIIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIXVIVIIII
----
------------
That’s a lot to think about I guess.
Good question.
The thing is - I think for 8 your function returns right answer. And I have no idea why.
Try to log out
convertToRoman(9) instead of 8
Right not working for 9, 4 :(… let me see where I am going wrong.
Thanks
are you sure about this?
I am actually confused right now. I logged case for 3 in the fcc console. and its:
III
But
fcc test for 3 is failing.
actually all tests failed
where’d you put the logic for “10 is the closest numeral”. you only have a condition to check this.
and if we start the loop from the first element, it passes with 1 too.
The logic is implicitly there. So if you the loop through else if (num > romanToArabic[item]), one by one all values will be save uptill the point where num > romanToArabic[item]. And it will eventually save the numeral value which is the closest to num. My explanation is really bad here. If you Try the code on debugger or python tutor, you will understand better.
Hi Deeti
One of the reasons the FCC tests are failing (as @admit8490 is seeing) is that your str variable is defined outside of your function, in the global scope.
So it’s only initialised to an empty string once, before your function is called.
But the tests will run your function repeatedly.
I’m not convinced that recursion is the best way to tackle this project.
You might want to think about trying to find a solution without recursion.
if num = 8;
the loop will start from the first element.
it will check the first element in the object which is 1
so romanToArabic[item] = 1
now num > romanToArabic[item] this condition will be true and the value of numeralWithLeastDifference will turn out to be 1
No… no, it will run till 5 and will save it as numeralWithLeastDifference. You can visualise that through debugger or python tutor. I think the issue is with recursion.
Thanks
Made it work by luck. But I Need more understanding around recursion, return.
const romanToArabic = {
//Testing 1 to 10 numerals
I : 1,
IV : 4,
V : 5,
IX: 9,
X: 10,
}
function convertToRoman(num) {
let str = "";
let numeralWithLeastDifference;
for(let item in romanToArabic){
if(num === romanToArabic[item]){
str += item;
return str
}
else if (num > romanToArabic[item]){
numeralWithLeastDifference = romanToArabic[item]
}
}
//console.log(numeralWithLeastDifference)
for (let item in romanToArabic){
if (numeralWithLeastDifference === romanToArabic[item]){
str+= item
num = num - numeralWithLeastDifference;
//str +=
str += convertToRoman(num)
console.log(str)
return str
}
}
}
convertToRoman(29);
Thanks everyone for helping,
Deeti
You mean it’s passing the tests? I don’t think it passes all of them.
This definitely a challenge that is harder with recursion


