js内置对象

116 阅读4分钟

一:length属性:字符串的长度

字面量的方式去创建一个字符串 :

    let str = 'he k' 
  
     整个字符串(无论是内部的空格还是外部的空格)都算成长度 
     console.log(str.length); 返回长度是5
复制代码

二:方法:

1:charAt() 返回在指定位置的字符(注:字符串中第一个字符的下标是0)

如果写的索引位置找不到对应的字符 会返回一个空字符串

    let str = 'he k' 
     let a = str.charAt(6);
    console.log(a); 
    本身长度是5,找6这个,是没有
    
复制代码

案列:

      let str = 'abcdefg' 
   通过索引找到e charAt方法
 再写一个字符串 aaaa 拼接到str上 并答应出来新的字符串 
   把abcd替换成hello 并把替换后的字符串打印出来
   let str = 'abcdefg';
    console.log(str.charAt(4));
     let str2 = 'aaaa';
   let newstr = str.concat(str2);
    console.log(newstr);
     let rstr = str.replace('abcd','hello')
     console.log(rstr);
    
复制代码

2:concat() 连接字符串:会返回一个新的拼接后的字符串

     let str = 'he k' 
    let newstr = str.concat('itty');
      console.log(newstr);
      打印出:he kitty
      
复制代码

3:replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

replace会把第一参数(第一个参数是属于原字符串的字符)替换成第二个参数里面内容 原来的字符串不会受到影响,会返回一个新的替换后的字符串

      let str = "hello world";
    let a = str.replace('world','kitty'); */
     console.log(a,str)
     打印出:a= hello Kitty    str= hello world
     
复制代码

注:第一种:正则表达式

       let str = 'abc123qwe456'; 
    /\d/正则表达式 代表字符串里面的第一个数字替换成nnn 
    /\d+/ 表示匹配字符串里面的所有数字当成一个整体替换成nnn 
     let a = str.replace(/\d+/,'nnn') 

     因为/\d+/ 这段正则不是全局的,所以只会改变第一个匹配项(123整体) 
     因为/\d/ 这段正则不是全局的,所以只会改变第一个匹配项(1let a = str.replace(/\d/,'n') 

   *想让str中所有的数字都变成n 
    正则里面的g表示全局的意思 str.replace(/\d/g,'n') 可以把字符串里面的每一个数字都变成n */
     正则里面的g表示全局的意思 str.replace(/\d+/g,'n')
     把字符串里面的所有数字当成一个整体都变成n       
     let a = str.replace(/\d/g,'n') 
    console.log(a);
    
复制代码

注:第二种正则表达式:

   /\d+/ 代表匹配一段整体的数字 
  /\d/代表匹配一个数字 g代表全局
    总体来说就是 在str字符串全局内 去查找一个一个的数字 
    会以一个数组的形式方式*/
  不写g 只会返回第一个  写g 代表全局 会查找所有
   let a = str.match(/\d+/g);
    console.log(a);
 let str = 'he123llo456'; 
    let a = str.match(/\d/)
    console.log(a) 

    
复制代码

4: split() 把一个字符串分割成字符串数组

  let str = 'hello'; 
    split()不加参数 会把hello这个整体放到数组当中 hello
    str.split('') 把hello这个字符串 用空字符串分割 转化为数组  h,e,l,l,o
    str.split(',') 如果用字符串中不存在的字符分割 那么还是会把整体放到数组中hello 
    str.split('e') 用e当作分割符 把字符串分割成数组 ['h','llo'] */
    str.split('l') 用l当作分割符 会变成空字符串 因为有两个l 所以会分割成用['he', '', 'o']
     let arr = str.split('l');
    console.log(arr);
    
复制代码

注: 数组转字符串

        let arr = [1,2,3];
       let str = arr.join('-');
       console.log(str);       
    
    
复制代码

5:indexOf() 返回某个指定的字符串值在字符串中首次出现的位置(★首次很重要)

    let str = 'hello'
     str.charAt(1) => e 
   和数组的indexOf一样 找不到,返回值-1,找到不等于-1
     let index = str.indexOf('l');
    console.log(index);
复制代码

6:lastIndexOf() 返回一个指定的字符串值最后出现的位置

   let str = 'hello'
  let index = str.lastIndexOf('l');
    console.log(index);
    
复制代码

7:match() 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

    let str = 'he123llo456'; 
   str.match('o') 使用match来检索o 可以知道o在字符串内的信息,以数组的形式返回
    比如o所在的索引,o所在的字符串和o的长度 
     let a = str.match('o')
   console.log(a);
   
   
复制代码

8: toLowerCase() 把字符串转换为小写

   let str = "HELLO"
  let str2 = str.toLowerCase();
   console.log(str2);
   
复制代码

9: toUpperCase() 把字符串转换为大写

    let str = 'hello'
     let str2 = str.toUpperCase();
    console.log(str2);
    


作者:用户8712537862007
链接:juejin.cn/post/704259… 来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。