如何在JavaScript中将字符代码数组转换为字符串

How to convert an array of character codes to string in JavaScript?

本文关键字:数组 代码 转换 字符串 字符 JavaScript      更新时间:2023-09-26

我有这个函数:

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返回的消息

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扩展语法

var chars = [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100];
var str = String.fromCharCode(...chars);
console.log(str);

reduce函数呢?

 function ungarble(chars) {
    return chars.reduce(function(allString, char) {
        return allString += String.fromCharCode(char);
    }, '');
}
let result = ungarble([65, 66, 67]);
console.log(result) // "ABC"