Hello,
I write this topic just to know how Project Roman Numeral Converter supposed to be made with Array.splice(), Array.indexOf() and Array.join() because i made it without any of them (spoiler alert it can solve the mission).
Here’s my code (again if you want do it by yourself don’t read that
):
function convertToRoman(num, newNum) {
var base = 0;
if(num/1000 >= 1){
base = 1000;
}
else if(num/100 >= 1){
base = 100;
}
else if(num/10 >= 1){
base = 10;
}
else if(num/10 < 1){
base = 1;
}
newNum = newNum ? newNum : '';
var mainNumber = num/base;
var modulo = num%base;
var fifthNumber = '';
var firstNumber = '';
var tenthNumber = '';
switch (base){
case 1000: firstNumber = "M";
fifthNumber = 'VV';//i know that it's not exactly this
tenthNumber = 'XX';//i know that it's not exactly this
break;
case 100: firstNumber = "C";
fifthNumber = 'D';
tenthNumber = 'M';
break;
case 10: firstNumber = "X";
fifthNumber = 'L';
tenthNumber = 'C';
break;
case 1: firstNumber = "I";
fifthNumber = 'V';
tenthNumber = 'X';
break;
}
var repetition = Math.floor(mainNumber);
if(repetition < 4){
for(var i=0; i<repetition; i++){
newNum+=firstNumber;
}
}
if(repetition === 4){
newNum+=firstNumber;
newNum+=fifthNumber;
}
if(repetition > 4 && repetition < 9){
newNum+=fifthNumber;
var difference = repetition-5;
for(var j=0; j<difference; j++){
newNum+=firstNumber;
}
}
if(repetition === 9){
newNum+=firstNumber;
newNum+=tenthNumber;
}
if(modulo > 0){
return convertToRoman(modulo, newNum);
}else{
return newNum;
}
}