发布时间:2022-08-17 13:27
如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2
输入
'hello world, 牛客', false
输出
17
定义和用法:charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推。
实例1:
返回字符串第一个字符的 Unicode 编码:
var str = "HELLO WORLD"; var n = str.charCodeAt(0);
n 输出结果:
72
实例2:
返回字符串中最后一个字符的 Unicode 编码:
var str = "HELLO WORLD"; var n = str.charCodeAt(str.length-1);
n 输出结果:
68
function strLength(s, bUnicode255For1) {
if( bUnicode255For1 ){ //当第二个参数为false时因为所有字符长度都为1,直接用length算就好了
return s.length;
}else{ //反之,先用length算长度,然后遍历,当又字符的Unicode大于255就length+1即可
var len = s.length;
for( var i=0; i 255 ){
len++;
}
}
return len;
}
}
运行环境:JavaScript (V8 6.0.0)
运行时间:987ms
占用内存:78188KB