我有一个unicode值列表[65, 66, 67]
,我想要相应的字符串"ABC"
。我查看了documentation并找到了我需要做的功能String.fromCharCode()
。唯一的问题是参数需要一系列数字。
因此,如果我使用String.fromCharCode([65, 66, 67])
,则会给我" "
。有没有办法允许列表被视为序列的功能?
答案 0 :(得分:4)
您需要使用...
spread
语法 来传播数组。
console.log(String.fromCharCode(...[65, 66, 67]));
来自MDN
Spread语法允许迭代,例如数组表达式 在零或多个参数的地方扩展(用于函数调用) 或元素(对于数组文字)是期望的,或对象表达式 在零或更多键值对的地方扩展(for 对象文字是预期的。
答案 1 :(得分:2)
在列表上映射然后加入:
var s = [65, 66, 67].map(x => String.fromCharCode(x)).join("");
console.log(s);
答案 2 :(得分:1)
/* You can map over the list and the value you need will be output to anoter list */
var charCodes = [65, 66, 67],
stringsFromCharCodes = charCodes.map(item => String.fromCharCode(item));
console.log('new list: ', stringsFromCharCodes);

答案 3 :(得分:1)
您可以使用apply来解决此问题
var chars = [65,66,67]
var s = String.fromCharCode.apply({}, chars)
console.log(s);