Fen*_*eng 4 javascript ecmascript-5
这按预期工作
[97,98].map(function(x){String.fromCharCode(x)})
// [ 'a', 'b' ]
Run Code Online (Sandbox Code Playgroud)
但输出跟随线是意外的
[97,98].map(String.fromCharCode)
// [ 'a\u0000\u0000', 'b\u0001\u0000' ]
Run Code Online (Sandbox Code Playgroud)
String.fromCharCode
可以接受可变长度的参数,并将每个参数视为字符代码,以构建arguments.length
长字符串字符.
map
将几个参数传递给内部函数.第一个,显然是当前项目的价值.第二个是数组中的索引,它来自\u0000
和\u0001
来自(添加更多字符代码,你得到\u0002
,\u0003
...).第三个参数是对正在遍历的数组的引用,该数组将转换为数字0
.
资料来源:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map
很多以后编辑:另一种方法:
String.fromCharCode.apply(String, [97,98]);
// [ 'a', 'b' ]
Run Code Online (Sandbox Code Playgroud)