生成罗马数字
这样生成有问题,到了 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生成罗马字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!