为什么我使用扩展运算符(spread(...) operator)来分割包含表情符号的字符串时,结果数组中会出现“空洞”?
例如:
[...''] // -> ["", hole]
此外,表情符号越多,“空洞”也就越多:
[...''] // -> ["", "", hole, hole]
来自Chrome v71.0.3578.98的屏幕截图:
为什么我使用扩展运算符(spread(...) operator)来分割包含表情符号的字符串时,结果数组中会出现“空洞”?
例如:
[...''] // -> ["", hole]
此外,表情符号越多,“空洞”也就越多:
[...''] // -> ["", "", hole, hole]
来自Chrome v71.0.3578.98的屏幕截图:
Array.from()
可以完全替代它而且没有bug。> s="\uD83C\uDF1F\u5FCD\u8005\u306E\u653B\u6483\uD83C\uDF1F"
> [...s]
(9) ["", "忍", "者", "の", "攻", "撃", "", hole, hole]
> Array.from(s)
(7) ["", "忍", "者", "の", "攻", "撃", ""]
> a=[...'\u{1f4a9}']
(2) ["", hole]
> hole=a[1]
undefined
> hole
VM384:1 Uncaught ReferenceError: hole is not defined
[...'']
// [""]
[...'']
// (2) ["", ""]