Sha256: f0ea8fdccb71aa78ad2a760d66c88d45656bc5f94615a9ac125f921485fc53aa

Contents?: true

Size: 690 Bytes

Versions: 185

Compression:

Stored size: 690 Bytes

Contents

function toRoman(number) {
  let result = '';
  const mappings = [
    { arabic: 1000, roman: 'M' },
    { arabic: 900, roman: 'CM' },
    { arabic: 500, roman: 'D' },
    { arabic: 400, roman: 'CD' },
    { arabic: 100, roman: 'C' },
    { arabic: 90, roman: 'XC' },
    { arabic: 50, roman: 'L' },
    { arabic: 40, roman: 'XL' },
    { arabic: 10, roman: 'X' },
    { arabic: 9, roman: 'IX' },
    { arabic: 5, roman: 'V' },
    { arabic: 4, roman: 'IV' },
    { arabic: 1, roman: 'I' },
  ];

  mappings.forEach((mapping) => {
    while (number >= mapping.arabic) {
      result += mapping.roman;
      number -= mapping.arabic;
    }
  });

  return result;
}

export default toRoman;

Version data entries

185 entries across 185 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.158 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.157 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.156 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.155 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.154 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.153 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.152 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.151 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.150 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.149 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.148 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.147 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.146 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.145 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.144 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.143 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.142 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.141 tracks/ecmascript/exercises/roman-numerals/example.js
trackler-2.2.1.140 tracks/ecmascript/exercises/roman-numerals/example.js