JSFiddle - React, Tailwind, and code Playground

by DineshAngappa

JavaScript

var romanLetters = {1 : 'I',
                    2 : 'II',
                    4: 'IV',
                    5: 'V',
                    9: 'IX',
                    10: 'X',
                    20: 'XX',
                    40: 'XL',
                    50: 'L',
                    90: 'XC',
                    100: 'C',
                    400: 'CD',
                    500: 'D',
                    900: 'CM',
                    1000: 'M'
                  };
             
   var inputArr = [1000, 80, 04, 158, 200];          
    var outputArr = new Array();
    
    function romanize(inputArr){
    	for(var j=0; j< inputArr.length; j++){
      if(inputArr[j] >= 1 && inputArr[j] <=1000)
    		outputArr.push(convertToRoman(inputArr[j]));		  
    	}
      return outputArr;
    }
    
    console.log(romanize(inputArr));
   
   function convertToRoman(rL){
    var b = Object.keys(romanLetters);
    var temp = '';
    for(var i=b.length-1; i >=0; i--){
      while(rL%b[i] < rL){
	     	temp += romanLetters[b[i]];
       	rL -= b[i];
	  	}
      
      if(rL ===0)break;
	 }
   return temp;
}