牛客前端篇———FED8、获取字符串的长度

发布时间:2022-08-17 13:27

题目描述

如果第二个参数 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 255 ){
                len++;
            }
        }
        return len;
    }
}

运行环境:JavaScript (V8 6.0.0)

运行时间:987ms

占用内存:78188KB

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号