gpt4 book ai didi

javascript - 使用 charCodeAt 和 charCodeFrom 时如何去掉空格?

转载 作者:行者123 更新时间:2023-11-30 21:10:51 25 4
gpt4 key购买 nike

此函数包含一个 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.");

最佳答案

只需检查当前字符是否为空格。如果是,返回。否则,移动值:

function rot13(str) {

var strSplit = str.split('');
var strMap = strSplit.map(function(x) {
return x === ' ' // Is it a space?
? x.charCodeAt(0) // Then return the space
: (x.charCodeAt(0) + 13 - 65) % 26 + 65; // If not, then apply the shift.
});

return String.fromCharCode.apply(this, strMap);
}


console.log(rot13("GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK."));

或者,更好的是,只移动您想要的字符:

function rot13(str) {

var strSplit = str.split('');
var strMap = strSplit.map(function(x) {
return /[a-zA-Z]/.test(x) // Is it a letter?
? (x.charCodeAt(0) + 13 - 65) % 26 + 65 // Shift it!
: x.charCodeAt(0) // Otherwise, return the not-letter.
});

return String.fromCharCode.apply(this, strMap);
}


console.log(rot13("GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK."));

关于javascript - 使用 charCodeAt 和 charCodeFrom 时如何去掉空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com