我想制作一个程序,我们可以说每个字母都等于它之前的字母,除了 - 字母 a ,它将被设置为0.但是,就像我一样我是初学者,我不太清楚从哪里开始。我相信诸如Javascript switch语句之类的东西应该完成任务:
ar a,...,z;
switch (~~~~~~~) {
case 0:
"a" = "0";
break;
case 1:
"b" = "a";
break;
case 2:
"c" = "b";
break;
case n:
"letter" = "letter before it";
break;
...}
我的问题是如何将上面的伪代码转换为实际代码的?
答案 0 :(得分:2)
您不需要为每个角色使用大小写。只需将字符的ASCII值与ASCII值-1(前一个字符)进行比较
str="a";
if(str.charCodeAt(0)==(str.charCodeAt(0)-1))
alert('true');
您可以过滤要忽略的ASCII值97(a)以进行比较
答案 1 :(得分:0)
您可以通过获取ASCII码并减少1来动态检索上一个字母:
function previousLetter(letter){
if(letter == 'a') return 0;
else return String.fromCharCode(letter.charCodeAt(0)-1)
}
> previousLetter('b')
'a'
> previousLetter('a')
0
答案 2 :(得分:0)
你必须推迟“符号:
var a,...,z;
switch (~~~~~~~) {
case 0:
a = "0";
break;
case 1:
b = a;
break;
case 2:
c = b;
break;
case n:
letter = "letter before it";
break;
...}
此代码,在情况1(例如)中将变量b设置为等于变量a,但实际上在此代码中所有变量都未初始化,因此总是为null,您必须首先将其初始化为:
a = "a";
或直接放入正确的案例:ç
case 1:
b = "a";
break;