2017-09-07 31 views
1

问题是给定的字符串,我必须将给定数字的每个字母移位。Javascript - 从n个位置移动字符串的字符

例如,

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); 
    }   
} 
+2

你给出关于种输入你应该能够应付任何信息?小写字母怎么样? – Hamms

+3

*“但它一直告诉我”*谁或什么是*它*?并为哪些输入失败? –

+1

例如,您可能需要将'Z'移至'D'。 – Ryan

回答

相关问题