zoukankan      html  css  js  c++  java
  • 爱奇艺前端面试题3

    跪求各位大神轻拍,有好的方法的请大家相互分享,相互进步,谢谢。

    请写一个字符串截取函数,按照最大140个汉字(280)个字符截断。

    母的:汉字在js中是两个字节,而我们只想要140个字节的字符串

    思路:

    curByteLen代表当前的字节数,byteSum代表想要截取的总字节数,len代表当前访问的字符串的位置。

    while循环 遍历字符串,如果是两个字节的字符串,curByteLen+2,否则,curByteLen+2

    注意:有可能curByteLen大于byteSum,比如说,你想从”3中国人“截取6个字符,最后curByteLen 的长度是7,就要把最后一个字符给去掉

    function trimStringByByte(inputStr, byteSum) {
    var newArr = [], len = 0, curByteLen = 0;
    while(inputStr[len] && curByteLen < byteSum) {
    if(inputStr.charCodeAt(len) > 255) {
    curByteLen += 2;
    newArr.push(inputStr[len]);
    len++;
    } else {
    curByteLen += 1;
    newArr.push(inputStr[len]);
    len++;
    }
    }
    //如果长度大于想截取的长度,说明最后一个是两个字节的,所以把它从数组中去掉
    if (curByteLen > byteSum) {
    newArr.pop();
    }
    return newArr.join('');
    }

  • 相关阅读:
    使用 requests 维持会话
    使用 requests 发送 POST 请求
    使用 requests 发送 GET 请求
    requests 安装
    使用 urllib 分析 Robots 协议
    使用 urllib 解析 URL 链接
    使用 urllib 处理 HTTP 异常
    使用 urllib 处理 Cookies 信息
    使用 urllib 设置代理服务
    按单生产程序发布
  • 原文地址:https://www.cnblogs.com/mengxiang-1234/p/4703062.html
Copyright © 2011-2022 走看看