首页 > 编程知识 正文

罗马数字转整数js,罗马数字转换器在线转换

时间:2023-05-06 17:39:28 阅读:242452 作者:3498

最近网页有一个目录转换的需求,要求使用罗马数字,目录比较简单层级在10以下,首先最直观的方法,使用控制流中的多分支

toRomanNumber(number){let numChar = number + "";switch(numChar){case "0": ""; break;case "1": "Ⅰ"; break;case "2": "Ⅱ"; break;case "3": "Ⅲ"; break;case "4": "Ⅳ"; break;case "5": "Ⅴ"; break;case "6": "Ⅵ"; break;case "7": "Ⅶ"; break;case "8": "Ⅷ"; break;case "9": "Ⅸ"; break;default: "";}}

javascript对象的键值形式,允许你这样实现

toRomanNumber(number){let numChar = number + "";const maps = {"0":"", "1":"Ⅰ", "2":"Ⅱ", "3":"Ⅲ", "4":"Ⅳ", "5":"Ⅴ", "6":"Ⅵ", "7":"Ⅶ", "8":"Ⅷ", "9":"Ⅸ"};return maps[numChar] || "";}

有没有优化的方法呢,数字是自然序列,提到自然序列能想到什么,是不是联想到了数组呢,只不过要把数组前移一位

toRomanNumber(number){let number = Number(number);const array = ["","Ⅰ","Ⅱ","Ⅲ","Ⅳ","Ⅴ","Ⅵ","Ⅶ","Ⅷ","Ⅸ"];if(isNaN(number)){return "";}else{return array[number] || "";}}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。