Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用charCodeAt和charCodeFrom时去掉空格?_Javascript - Fatal编程技术网

Javascript 如何在使用charCodeAt和charCodeFrom时去掉空格?

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

此函数包括一个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(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:你说得绝对正确。修正了答案:-)