2016-11-20 132 views
1

我写了一个函数,目的是为字符串中的每个字母填充一个包含uni代码字符的数组。如何使用字符串中的单字符代码填充数组?

但是,我返回的结果是一个空值的数组。

function rot13(str) { 
 
    var splitString = str.split(""); 
 
    var myArray = []; 
 

 
    for (var i = 0; i < splitString.length; i++) { 
 
    myArray.push(splitString[i].charCodeAt[i]); 
 
    } 
 
    return myArray; 
 
} 
 
console.log(rot13('cats'));

+0

'charCodeAt'是一个函数。 – SLaks

+0

'splitString [i] .charCodeAt [i]'→'str.charCodeAt(i)'。 'charCodeAt'是一个函数。 – Ryan

+1

而且你不需要'split'。 – SLaks

回答

3

String.prototype.charCodeAt(n)发现在位置n字符串的字符的代码。因此,而不是分裂的字符串,只是重复它:

function rot13(str) { 
 
    var myArray = []; 
 

 
    for(var i = 0; i < str.length; i++) { 
 
    myArray.push(str.charCodeAt(i)); 
 
    } 
 
    
 
    return myArray; 
 
} 
 

 
console.log(rot13('cats'));

0

发布此替代 - 依然采用了function charcodeAt()

function rot13(str) { 
 
    return str.split("").map(function(char) { 
 
     return char.charCodeAt(); 
 
    }); // .join(""); 
 
} 
 
console.log(rot13("cats"))

0
function toChars(x,i){ 
    x = x.split(""); i = 0; 
    while(x[i]) x[i] = String.charCodeAt(x[i++]); 
    return x; 
}