牛客前端篇———FED8、获取字符串的长度
作者:互联网
题目描述
如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2
示例1
输入
'hello world, 牛客', false
输出
17
代码
JavaScript charCodeAt() 方法
定义和用法: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<s.length; i++ ){
if( s.charCodeAt(i) > 255 ){
len++;
}
}
return len;
}
}
运行环境:JavaScript (V8 6.0.0)
运行时间:987ms
占用内存:78188KB
标签:字符,Unicode,charCodeAt,var,牛客,length,str,字符串,FED8 来源: https://blog.csdn.net/weixin_43613849/article/details/115482884