function alpha()
{
var a=prompt("Enter String: ");
for(var b=[i=0];c=a.charCodeAt(i);)
{
b[i++]=String.fromCharCode(c|(c>96 && c<123));
}
alert(b.join(""))
}
console.log(alpha());
到目前为止,当我运行这个命令时,代码中的一些字母发生了变化,但由于某种原因,它没有将字符串字符更改为所有字符串。(输出示例;我在提示符中键入“hi”,警报输出“i”,因此h出于某种原因消失。
7条答案
按热度按时间nszi6y051#
只要得到每个字符的大小写代码,如果它的范围在97到122(a到z)之间,从瓦尔中减去32就得到相应的大写字符。希望这对你有帮助。
e4yzc0pl2#
正如上面评论中提到的Barmar:
如果字符在97和123之间,则从字符代码中减去32。
您可以使用
split
-map
-join
组合使循环逻辑更清晰一些。由于您还可以在JavaScript中比较单字符字符串,如
'a' < 'b'
,这可以进一步减少处理字符代码转换所需的代码量。jogvjijk3#
我会这么做
u91tlkcl4#
只是出于兴趣,这里有一种方法可以在一个语句中完成它,而不需要数组或循环(至少,不是显式循环):
8zzbczxx5#
由于这是一个学习目标,我将只描述一种方法来做到这一点,让你尝试用这个答案作为指导。
首先你要遍历字符串中的字符。对于每一个字符,你都需要一些代码将其转换为大写字母,假设它是一个字母。最后,你想把大写字母保存在一个变量中。
此链接可能对UTF-8字符码有帮助。即使你没有使用utf-8,它也可能给你给予一些想法。http://www.utf8-chartable.de/
kqhtkvqz6#
这里有一种实现它的方法**,根本不调用任何函数**:
bvuwiixz7#