【问题标题】:Get string from a list contain Unicode in JavaScript从列表中获取包含 JavaScript 中的 Unicode 的字符串
【发布时间】:2017-12-11 00:12:21
【问题描述】:

我有一个 Unicode 值列表 [65, 66, 67],我想要相应的字符串 "ABC"。我查看了documentation 并找到了函数String.fromCharCode(),它可以完成我需要做的事情。唯一的问题是参数必须是数字序列

所以如果我使用String.fromCharCode([65, 66, 67]),它会给我" "

有没有办法允许列表被视为序列函数

【问题讨论】:

标签: javascript list unicode fromcharcode


【解决方案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);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-24
        • 1970-01-01
        • 2018-02-19
        • 2014-02-19
        相关资源
        最近更新 更多