• js基础知识整理之 —— 字符串


    JS任何事物都可以看成对象
    字符串 String这种数据类型
    单引双引号包起来的都属于字符串(String)
    String类 这是我们面向对象概念;无论基本数据还是引用数据都属于object的类;

    字符串属于String这个大类,在String类的protoType的这个属性上,存在着一个对象(protoType值是一个对象 ),在这个对象上存在一些属性,属性对应的值是一些函数方法,这些方法都是公有的,属于这个类的对象都能调用;

    1、charAt 根据索引查找字符串
    var str="abcdefghigklmnopqrstuvwxyz" 字符串也可以通过索引访问具体位置的字符
    console.log(str.charAt(0));//--->a 将查找到的字符串作为方法的返回值返回

    2、charCodeAt 也是根据索引查找的指定位置的字符
    但是他返回的是当前字符unicode编码ASCII编码值;

    3、substr(n,m) 查找字符串,从索引n开始,查找m个
    会将找到的字符返回,字符串格式;

    substr() 不填参数的时候,返回的是整个字符串,相当于复制;
    substr(0) 只填一个参数的时候,从当前索引位置,一直找到末尾,将找到的字符返回;
    console.log(str.substr(-3,3));//--->xyz
    如果索引传一个负数,就是索引从末尾开始依次向左进行(就是从倒数第一个开始)

    4、subString(a,b) 查找我们字符串,从索引a处,到索引b处之前
    查找到的结果不包含b处字符;返回值也是查找的结果;

    str.substring(0,str.length-1)         "abcdefghigklmnopqrstuvwxy"
    str.substring(0,str.length)           "abcdefghigklmnopqrstuvwxyz"
    console.log(str.substring(1));        "bcdefghigklmnopqrstuvwxyz"
    
    • 1
    • 2
    • 3

    不支持传负数

    5、slice(n,m) 从索引n到索引m处之前, 不包含m
    因为不包含m 所以 如果我想找z 要找到z的后一项 也就是str.length 就能打印出整个字符串
    它跟subString的用法一样,区别是,slice可以支持负数索引;

    负数索引是从-1开始的,我们查找的顺序,是从左到右;
    -25是b -26是a
    要保证m值比n值大 str.slice(5,4)----> " "否则会返回一个空字符串
    abcdefghigklmnopqrstuvwxyz--->str.slice(-5,-2)--->"vwx" 查找顺序从左到右;找到-5 再查两个

    str.slice(2,-5) 一正一负的情况,我们可以把负数转化成整数索引(负数索引+str的length)都转化成正数时候也要求后一个参数m比前一个n大;

    6、replace字符串的替换
    str.replace(字符串原有字符,替换的新字符)

    str.replace("a","木")  
    console.log(str.replace("a", "木").replace("a", "木").replace("a", "木").replace("a", "木"));
    //--->木b木cde木fg木higklmnopqrstuvwxyz   
    // 通过链式写法,重复调用replace替换
    
    • 1
    • 2
    • 3
    • 4

    replace配合我们正则匹配使用

    console.log(str.replace(/a/g, "正则"));
    //-->正则b正则cde正则fg正则higklmnopqrstuvwxyz
    // g是全局匹配   i区分大小写
    
    • 1
    • 2
    • 3

    7、indexOf lastIndexOf 找到字符出现位置索引
    证明是否包含,返回的是找到的第一个索引

    console.log(str.lastIndexOf("a"));//--->9
    
    • 1

    8、split() 字符串拆分成数组

    split("@")以指定的字符为分隔点,将字符串分隔成数组
    var str="abcd";
    console.log(str.split());//---> ["abcd"]
    console.log(str.split(""));//---> ["a", "b", "c", "d"]  
    
    • 1
    • 2
    • 3
    • 4

    传一个空字符串的时候,我们会将字符串中每一个字符都拆分成数组的一项;

    var str="a#b#c#d";
    console.log(str.split("#"));//---> ["a", "b", "c", "d"]
    
    • 1
    • 2
  • 相关阅读:
    打通“”任督二脉“”的大模型:基础大模型的进展意味着什么?变革的底层逻辑是什么?
    一个linux最简otg驱动源代码
    发展场景金融需要重视生态能力建设,加深对场景的渗透程度
    RHCE(三)--- 基于HTTP、HTTPS搭建静态网页
    程序员股权转让协议
    【文本分类】《融合知识感知与双重注意力的短文本分类模型》
    智慧农业:农林牧数据可视化监控平台
    【从0-1成为架构师】性能优化的手段
    如何实现CAN/LIN通信路由测试?
    【华为机试真题 JAVA】求满足条件的最长子串的长度-100
  • 原文地址:https://blog.csdn.net/qq_39669919/article/details/126013217