博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js/javascript 生成罗马字符
阅读量:7087 次
发布时间:2019-06-28

本文共 960 字,大约阅读时间需要 3 分钟。

生成罗马数字

这样生成有问题,到了 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 [    'Ⅰ', 'Ⅱ', 'Ⅲ', 'Ⅳ', 'Ⅴ', 'Ⅵ', 'Ⅶ', 'Ⅷ', 'Ⅸ', 'Ⅹ',    'ⅩⅠ', 'ⅩⅡ', 'ⅩⅢ', 'ⅩⅣ', 'ⅩⅤ', 'ⅩⅥ', 'ⅩⅦ', 'ⅩⅧ', 'ⅩⅨ', 'ⅩⅩ',    'ⅩⅩⅠ', 'ⅩⅩⅡ', 'ⅩⅩⅢ', 'ⅩⅩⅣ', 'ⅩⅩⅤ', 'ⅩⅩⅥ'  ]}

转载地址:http://amfql.baihongyu.com/

你可能感兴趣的文章
小tips:JS之break,continue和return这三个语句的用法
查看>>
【Java】Java_09 类型转换
查看>>
AndroidStudio gradle配置
查看>>
poj3067 Japan(树状数组)
查看>>
[java面试]关于多态性的理解
查看>>
常见的MIME类型
查看>>
Leetcode_Wildcard Matching
查看>>
docker 私有仓库简易搭建
查看>>
WCF系列教程之客户端异步调用服务
查看>>
P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers
查看>>
Android自带的分享功能案例
查看>>
Android广播机制分析
查看>>
Android ADB工具-截图和录制视频(五)
查看>>
PHP/Javascript 数组定义 及JSON中的使用 ---OK
查看>>
php中urldecode()和urlencode()起什么作用啊
查看>>
UVA 11542 Square 高斯消元 异或方程组求解
查看>>
Nginx的内部(进程)模型
查看>>
基于设备树的controller学习(1)
查看>>
递归--练习1--noi3089爬楼梯
查看>>
慢慢过渡到个人博客
查看>>