Javascript 如何在使用charCodeAt和charCodeFrom时去掉空格?
此函数包括一个ROT13密码,它首先将提供的字符串拆分并将值移位13。唯一的问题是它在返回时在单词之间包含破折号,我不知道如何解决这个问题Javascript 如何在使用charCodeAt和charCodeFrom时去掉空格?,javascript,Javascript,此函数包括一个ROT13密码,它首先将提供的字符串拆分并将值移位13。唯一的问题是它在返回时在单词之间包含破折号,我不知道如何解决这个问题 function rot13(str) { var strSplit = str.split(''); var strMap = strSplit.map(function(x) { return (x.charCodeAt(0) + 13 - 65) % 26 + 65; }); return String.fromCharCode.apply(t
function rot13(str) {
var strSplit = str.split('');
var strMap = strSplit.map(function(x) {
return (x.charCodeAt(0) + 13 - 65) % 26 + 65;
});
return String.fromCharCode.apply(this, strMap);
}
rot13("GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK.");
只需检查当前字符是否为空格。如果是,请返回。否则,请移动该值:
函数rot13(str){
var strSplit=str.split(“”);
var strMap=strSplit.map(函数(x){
return x==''//它是一个空格吗?
?x.charCodeAt(0)//然后返回空格
:(x.charCodeAt(0)+13-65)%26+65;//如果不是,则应用移位。
});
返回字符串.fromCharCode.apply(这是strMap);
}
日志(rot13(“GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK”)代码>仅旋转您要旋转的范围内的字符,而不旋转其他字符?相反,您应该检查该字符是否是我们不想旋转的字符之一,而不是检查该字符是否是您要旋转的字符之一。空格不是唯一的例外。@Bergi:你说得绝对正确。修正了答案:-)