6

通常我会使用类似的东西str[i]

但万一str = "☀️"呢?

str[i]失败。for (x of str) console.log(x)也失败了。它总共打印出 4 个字符,即使字符串中显然只有 2 个表情符号。

迭代我在字符串中可以看到的每个字符(我猜还有换行符)的最佳方法是什么,仅此而已?

理想的解决方案将返回一个包含 2 个字符的数组:2 个表情符号,仅此而已。声称的副本以及我发现的许多其他解决方案不符合此标准。

4

2 回答 2

1

我最终以这个疯狂的 JS 库的形式找到了答案:

https://github.com/orling/grapheme-splitter

于 2016-04-22T22:35:26.453 回答
0

你需要为星光角色制定自己的方法。

"foobar".match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|./g);
// => ["f", "o", "o", "", "b", "a", "r"]
于 2016-04-22T05:07:00.773 回答