从列表中获取包含 JavaScript 中的 Unicode 的字符串
Posted
技术标签:
【中文标题】从列表中获取包含 JavaScript 中的 Unicode 的字符串【英文标题】:Get string from a list contain Unicode in JavaScript 【发布时间】:2017-12-11 00:12:21 【问题描述】:我有一个 Unicode 值列表 [65, 66, 67]
,我想要相应的字符串 "ABC"
。我查看了documentation 并找到了函数String.fromCharCode()
,它可以完成我需要做的事情。唯一的问题是参数必须是数字序列。
所以如果我使用String.fromCharCode([65, 66, 67])
,它会给我" "
。
有没有办法允许列表被视为序列函数?
【问题讨论】:
Convert character to ASCII code in javascript的可能重复 你提到了“unicode”。如果您想支持的不仅仅是 ISO/IEC-8859-1(又名 ASCII + 字节上半部分的表格),请使用String.fromCodePoint(unicodeValue)
【参考方案1】:
您需要使用...
spread
语法传播数组。
console.log(String.fromCharCode(...[65, 66, 67]));
来自MDN
Spread 语法允许像数组表达式这样的可迭代对象 在零个或多个参数的地方扩展(用于函数调用) 或元素(对于数组文字)是预期的,或对象表达式 在零个或多个键值对(例如 对象文字)是预期的。
【讨论】:
吹毛求疵,...
is not an operator
这正是我想要的。
感谢 Patrick 指出,Multiple 网站确实提到了传播运算符的使用。但是,MDN 确实提到它为 语法,我会检查链接和规范。【参考方案2】:
你可以使用 apply 来解决这个问题
var chars = [65,66,67]
var s = String.fromCharCode.apply(, chars)
console.log(s);
【讨论】:
【参考方案3】:/* 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);
【讨论】:
【参考方案4】:在列表上映射然后加入:
var s = [65, 66, 67].map(x => String.fromCharCode(x)).join("");
console.log(s);
【讨论】:
以上是关于从列表中获取包含 JavaScript 中的 Unicode 的字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何创建多个从同一个数组中获取值的动态下拉列表,而无需更改 Javascript 中的其他下拉列表
有啥方法可以扩展包含列表的 pandas Dataframe 中的列并从列表值本身中获取列名?