使用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 相关文章推荐
用jquery来定位
Feb 20 Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
jquery中$(#form :input)与$(#form input)的区别
Aug 18 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
WEB开发之注册页面验证码倒计时代码的实现
Dec 15 Javascript
详解JS中的快速排序与冒泡
Jan 10 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
对layer弹出框中icon数字参数的说明介绍
Sep 04 Javascript
JavaScript简单编程实例学习
Feb 14 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 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
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
jquery实现pager控件示例
2014/04/09 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python实现动态创建类的方法分析
2019/06/25 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
计算机求职信
2013/12/01 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
营销总监岗位职责
2014/09/16 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
试用期辞职信范文
2015/03/02 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
golang switch语句的灵活写法介绍
2021/05/06 Golang
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL