如何避免 JavaScript 将大于\uFFFF的 Unicode 字符,算作两个字符的 bug。

  • 1、Array.from()
    将字符串转为数组,然后返回字符串的长度。因为它能正确处理各种 Unicode 字符;

  • 2、扩展运算符

function length(str) {
  return [...str].length;
}

length('x\uD83D\uDE80y') // 3

你可能感兴趣的:(如何避免 JavaScript 将大于\uFFFF的 Unicode 字符,算作两个字符的 bug。)