javascript罗马数字转换

2021/5/10 1:26:32

本文主要是介绍javascript罗马数字转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近网页有一个目录转换的需求,要求使用罗马数字,目录比较简单层级在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];
	}
}

 



这篇关于javascript罗马数字转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程