Javascript - 从n个位置移动字符串的字符

时间:2017-09-07 23:43:28

标签: javascript string

问题在于给定字符串我必须从给定的数字位置移动每个字母。

例如,

Encrypt(‘ABC’, 4) should return "EFG"
Encrypt("AB C", 2) Should equal to “CD E”
Encrypt("ABC DEF", 2) Should equal to “CDE FGH”

这是我提出的解决方案;

function encrypt(str, index) {
    var encryptedstr = '';
    var charCode = 0;

    for (i = 0; i < str.length; i++) {
        charCode = str.charCodeAt(i);

        if (charCode >= 65 && charCode <= 77 ){
            encryptedstr += String.fromCharCode(charCode + index);
        }else{
            encryptedstr += String.fromCharCode(charCode);
        }
    }
    return encryptedstr;
}

这适用于给定的输入。但它一直告诉我“答案对任何给定的输入都应该有效。”我在这里做错了什么?

我按如下方式更改了代码,但它也给了我同样的错误。

for (var i = 0; i < str.length; i++) 
{
    if(str[i] === " ")
    {
        encryptedstr += " ";  
    }else{
        charCode = (str[i].charCodeAt()) + index;
        encryptedstr += String.fromCharCode(charCode);
    }        
}

1 个答案:

答案 0 :(得分:0)

之前我没有涵盖所有约束。这就是它无效的原因。我还要考虑非字母字符。我在不同的帖子中找到了解决方案。

If you have same problem go to this link and follow the answer.