生成罗马数字
这样生成有问题,到了 12 之后就不规律了
roman() { return new Array(30).fill('Ⅰ').map((lastLetter, i) => { return String.fromCharCode(lastLetter.charCodeAt(0) + i) }) }
下面这个正确的姿势
var data = { ↈ: 100000, ↂↈ: 90000, ↇ: 50000, ↂↇ: 40000, ↂ: 10000, Ⅿↂ: 9000, ↁ: 5000, Ⅿↁ: 4000, Ⅿ: 1000, ⅭⅯ: 900, Ⅾ: 500, ⅭⅮ: 400, Ⅽ: 100, ⅩⅭ: 90, Ⅼ: 50, ⅩⅬ: 40, Ⅹ: 10, Ⅸ: 9, Ⅷ: 8, Ⅶ: 7, Ⅵ: 6, Ⅴ: 5, Ⅳ: 4, Ⅲ: 3, Ⅱ: 2, Ⅰ: 1 } function g(num){ var roman = '' if(num > 30000) return false var arr = [] for (i in data) { while (num >= data[i]) { roman += i; num -= data[i]; } } return roman } let arr = [] for (let index = 1; index < 26; index++) { arr.push(g(index)) } console.log(arr)
手工
export function getRomanNumber() { return [ 'Ⅰ', 'Ⅱ', 'Ⅲ', 'Ⅳ', 'Ⅴ', 'Ⅵ', 'Ⅶ', 'Ⅷ', 'Ⅸ', 'Ⅹ', 'ⅩⅠ', 'ⅩⅡ', 'ⅩⅢ', 'ⅩⅣ', 'ⅩⅤ', 'ⅩⅥ', 'ⅩⅦ', 'ⅩⅧ', 'ⅩⅨ', 'ⅩⅩ', 'ⅩⅩⅠ', 'ⅩⅩⅡ', 'ⅩⅩⅢ', 'ⅩⅩⅣ', 'ⅩⅩⅤ', 'ⅩⅩⅥ' ] }
总结
以上所述是小编给大家介绍的使用JavaScript生成罗马字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!