Preview:
/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
    let result = "";
    let number = s;

    let thousand = Math.floor(number/1000);
    number %= 1000;
    for (let i = 0; i < thousand; i++) {
        result += "M";
    }

    let hundred = Math.floor(number/100);
    number %= 100;
    for (let i = 0; i < hundred; i++) {
        if (hundred >= 5 && hundred !== 9) {
            result += "D";
            hundred -= 5;
            continue;
        }

        result += "C";
        if (hundred === 4) {
            result += "D";
            break;
        }

        if (hundred === 9) {
            result += "M";
            break;
        }
    }

    let tens = Math.floor(number/10);
    number %= 10;
    for (let i = 0; i < tens; i++) {
        if (tens >= 5 && tens !== 9) {
            result += "L";
            tens -= 5;
            continue;
        }

        result += "X";
        if (tens === 4) {
            result += "L";
            break;
        }

        if (tens === 9) {
            result += "C";
            break;
        }
    }

    let unit = number;
    for (let i = 0; i < unit; i++) {
        if (unit >= 5 && unit !== 9) {
            result += "V";
            unit -= 5;
            continue;
        }

        result += "I";
        if (unit === 4) {
            result += "V";
            break;
        }

        if (unit === 9) {
            result += "X";
            break;
        }
    }

    return result;
};
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter