Roman Numeral Solution

Hey all,

I recently completed my Roman Numeral Translator Solution and I would appreciate any thoughts anyone would care to share with me.

I was trying to avoid hard-coding anything so it is a little verbose.

let numeralStr;

function convertToRoman(num) {
    numeralStr = "";
        const roman = { 1000: "M", 500: "D", 100:"C", 50:"L", 10:"X", 5:"V", 1:"I" };
        let ctr = num;
        let romanKeys = [ ...Object.keys(roman) ].reverse();
        romanKeys.forEach(key =>{
            let dec = decrementer(key);
            dec, ctr = filter(dec, key, ctr, roman);
            if(ctr >= key - dec){
                dec, ctr = filter(dec, key, ctr, roman);
            }
        });

    return numeralStr;
}

function filter(dec, key, ctr, roman){
        
        if(ctr >  +key && ctr > 0){
            
            let mult = Math.floor(ctr / +key);        

            for(let i = 0; i < mult; i++){
            numeralStr += roman[key];
            }
            ctr -= +key * mult;
            return ctr;
        }

        if( ctr >= +key){
            numeralStr += roman[key];
            ctr -= +key;
            return ctr;
        }
        
        if(ctr >=  +key - dec && ctr > 0 && dec !== 0){
            numeralStr += roman[dec];
            numeralStr += roman[key];
            ctr -= (+key - dec);
            return ctr;
        }

        return ctr;
}

function decrementer(num){
    let numArr = `${num}`;
    numArr = numArr.split("");
    let newNum;
    if(numArr[0] === "1" && num >= 10){
        newNum = num * 1/10;
    } 
    if (numArr[0] === "5" && num >= 5){
        newNum = num * 1/5;
    }
    if(numArr === "1"){
        newNum = 0;
    }

    return newNum;
};
console.log(  convertToRoman(14)  );

Let me know your thoughts if you wish to.

Gabe