string.length返回字符串中16位字符的数量,因此字符串'1.2 in exponent为1.2e0'的长度为25,因为e(\ udc52)为17位且被视为2个不同的unicode字符。对于编程中的大多数情况,此行为可能很有用,如果我想知道字符串中的确切字符数(例如,在上面的示例中,24而不是25),该怎么办?是否有预定义的方法,技巧,黑客或任何可以计算字符数而不是16位字符数的东西?
注意:示例字符串中的e不是字母字符E,它是以IEEE 754格式表示“指数”的字符
答案 0 :(得分:0)
在ES6中,您可以使用Array.from()
:
var string = "1.2 in exponent is 1.20";
var charCount = Array.from(string).length;
console.log(charCount); // returns 24