我得到了一个数字数组,作为远程​​命令执行的响应(使用ssh2)。如何将其转换为字符串?

[97,112,112,46,106,115,10,110,111,100,101,46,106,115,10]

最佳答案

var result = String.fromCharCode.apply(null, arrayOfValues);


JSFiddle

说明:

String.fromCharCode可以将一个字符代码列表作为参数,每个字符代码都作为一个单独的参数(例如:String.fromCharCode(97,98,99))。

apply允许使用自定义的this调用函数,并将参数作为数组提供(与call相反,该参数按原样接受参数)。因此,由于我们不在乎this是什么,因此将其设置为null(但是任何方法都可以使用)。

总之,String.fromCharCode.apply(null, [97,98,99])等效于String.fromCharCode(97,98,99)并返回'abc',这正是我们所期望的。

10-08 11:12