2016-10-19 42 views
1

我有这样的功能:如何将字符代码数组转换为JavaScript中的字符串?

function ungarble(garble){ 
    var s = ""; 
    for(var i = 0; i < garble.length; i++) { 
    s += String.fromCharCode(garble[i]); 
    } 
    return s; 
} 

它发生在charCodes的阵列,然后返回字符串那些charCodes表示。

原生Javascript是否有这样的功能?

注意:这是用于读取由child_process.spawn返回的消息。

+6

'String.fromCharCode(... garble)' –

回答

3

fromCharCode已接受的参数转换为字符串任何金额,所以你可以简单地使用apply给它一个数组:

var chars = [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]; 
 

 
var str = String.fromCharCode.apply(null, chars); 
 

 
console.log(str);

或使用ES6 spread operator

var chars = [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]; 
 

 
var str = String.fromCharCode(...chars); 
 

 
console.log(str);

+0

这就是我一直在寻找的东西。谢谢,Vlaz! –

0

减少功能如何?

function ungarble(chars) { 
    return chars.reduce(function(allString, char) { 
     return allString += String.fromCharCode(char); 
    }, ''); 
} 

let result = ungarble([65, 66, 67]); 

console.log(result) // "ABC" 
相关问题