思路:将罗马数字以字符串的方式传入,然后创建一个新数组来存储进行过split操作过的罗马数字,
然后对数组进行遍历,把遍历到的每一个元素在switch里面写上对应的判断条件,最后计算结果输出
var romanToInt = function(s) {
res = 0; //存储最后的结果
let arr = s.split(""); //调用split方法,拆分字符串,存入arr
for(let i=0; i<arr.length; i++){ //遍历数组
switch(arr[i]){ //进行查找对应的情况
case"I":{ //
if(arr[i+1]=="X" || arr[i+1]== "V"){ //当i在左边的时候进行减
res-=1;
}else{ //反之进行相加
res += 1;
}
break;
}
case"V":{
res += 5;
break;
}
case"X":{
if(arr[i+1] == "L" || arr[i+1]=="C"){
res -= 10;
}else{
res+=10;
}break;
}
case "L":{
res +=50;
break;
}
case"C":{
if(arr[i+1]=="D" || arr[i+1] == "M"){
res -= 100;
}else{
res += 100;
}
break;
}
case"D" :{
res += 500;
break;
}
case "M":{
res += 1000;
break;
}
}
}
console.log(res);
};
let s = 'IX';
romanToInt(s);