使用JavaScript怎么生成一个罗马字符?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
生成罗马数字
这样生成有问题,到了 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 [
'Ⅰ', 'Ⅱ', 'Ⅲ', 'Ⅳ', 'Ⅴ', 'Ⅵ', 'Ⅶ', 'Ⅷ', 'Ⅸ', 'Ⅹ',
'ⅩⅠ', 'ⅩⅡ', 'ⅩⅢ', 'ⅩⅣ', 'ⅩⅤ', 'ⅩⅥ', 'ⅩⅦ', 'ⅩⅧ', 'ⅩⅨ', 'ⅩⅩ',
'ⅩⅩⅠ', 'ⅩⅩⅡ', 'ⅩⅩⅢ', 'ⅩⅩⅣ', 'ⅩⅩⅤ', 'ⅩⅩⅥ'
]
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。