可能首先想到的是
str.length
获取字符串的长度。
其实 JS 中的字符串长度是个奇怪的设定,很多编程语言,获取字符串的长度是得到字节长度,比如一个正常的汉字是两个字节,但在 js
中,'汉'.length
是 1 。
看上去很方便,殊不知,这个特性埋下的坑。因为不同的汉字长度也是不同的!
这样我们在判断长度直接使用 str.length
就有很多隐患了~
正确的做法可以把字符串拆成一个字符的数组,你可以间接的计算出字符个数。
let str = "搞𠮷👌";
console.log(str.length); // 5
console.log(Array.from(str).length); // 3
评论区