使用JavaScript生成罗马字符的实例代码


Posted in Javascript onJune 08, 2018

生成罗马数字

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

Javascript 相关文章推荐
关于恒等于(===)和非恒等于(!==)
Aug 20 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
基于JQuery.timer插件实现一个计时器
Apr 25 Javascript
jQuery的Ajax的自动完成功能控件简要说明
Feb 22 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
ExtJs中gridpanel分组后组名排序实例代码
Dec 02 Javascript
js点击任意区域弹出层消失实现代码
Dec 27 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
Nov 06 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
微信小程序实现滚动Tab选项卡
Nov 16 Javascript
JS模拟实现京东快递单号查询
Nov 30 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 #jQuery
Node.js中你不可不精的Stream(流)
Jun 08 #Javascript
用react-redux实现react组件之间数据共享的方法
Jun 08 #Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 #Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
Jun 08 #Javascript
原生实现一个react-redux的代码示例
Jun 08 #Javascript
vue项目中使用百度地图的方法
Jun 08 #Javascript
You might like
用PHP生成静态HTML速度快类库
2007/03/18 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
php将数据库导出成excel的方法
2010/05/07 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python基于queue和threading实现多线程下载实例
2014/10/08 Python
Python3 Random模块代码详解
2017/12/04 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
代码详解django中数据库设置
2019/01/28 Python
Python字典遍历操作实例小结
2019/03/05 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
高性能装备提升营地:Kammok
2019/02/27 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
什么时候用assert
2015/05/08 面试题
初中语文教学反思
2014/02/02 职场文书
一分钟演讲稿
2014/04/30 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
食品安全主题班会
2015/08/13 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python