美文网首页
JS中的字符串

JS中的字符串

作者: 追逐_chase | 来源:发表于2019-07-26 09:56 被阅读0次
    web.jpeg

    字符串

    字符串在底层以字符数组保存的,所以具有数组的一个特性

      "hello" -> ["h","e","l""l","0"];
    
    • length 访问字符串的长度
      var str = "hello";
        //字符串的长度  length
        console.log(str.length);
    
    • 通过下标索引获取指定的字符
     var str = "hello";
    // 获取指定的字符
        console.log(str[3]);
    
    • +号在字符串中起到链接和拼接的作用
    var name = "小明";
    var age = 20;
    var message = "你好, "+ name + ", 你今年'"+ age + "岁了!";
    alert(message);
    

    在ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串中的变量

    var name = "小明";
    var age = 20;
    var message = "你好, ${name}, 你今年${age}岁了!";
    alert(message);
    
    • 字符串不可变性
    var str = "hello";
        console.log(str);
        str[1] = "d";
        console.log(str[2]);
        console.log(str);
    //打印结果
    hello
     l
     hello
    
    //
    
    
    
     var str1 = "这是一个字符串"; // 地址:0x120
        str1 = "嘎哈啊";  //地址:0x119
        console.log(str1);
    //打印结果:  嘎哈啊
    
    // 解释: str1在字符串对象 有自己的内存地址 0x120,
    // 当在新创建一个  "嘎哈啊"  字符串的时候   0x119
    //  str1的地址重新指向了 嘎哈啊   0x119  0x120的地址的字符串还是没有发生变化
    // 只不过是str1的地址发生的重指向,指向了0x119
     
    

    字符串常用的方法操作


    转化大小写
    • toUpperCase转化成大写
    var s = 'Hello';
    s.toUpperCase(); // 返回'HELLO'
    
    • toLowerCase转化成小写
    var s = 'Hello';
    var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
    lower; // 'hello'
    
    字符串的拼接
    • concat
    var str = "hello";
    var resulrt = str.concat("我是","cc");
    console.log(resulrt);
    //打印结果:
    hello我是cc
    
    字符串的替换
    • replace("要替换的字符串","被替换的字符串")
    
             var resulrt = hello我是cc
        var str1 =  resulrt.replace("cc","110");
        console.log(str1);
    
    获取字符串的位置
    • indexOf("字符") 返回字符所在的位置
      • 它是从 前面开始数(从左边开始数), 而且只找第一个, 然后返回改字符的位置, 索引号都是从0开始的。 返回的是个数值。
      • 如果没有找到,则返回-1
     var txt = “abcdef”;
     alert(txt.indexOf(“d”))      结果就是   3
    
    
    • lastIndexOf(参数:索引字符串)
      • 从后面开始数,找到``第一个字符,但是索引号是 从 左边开始 数的
     var txt = “abcdfdef”;
     alert(txt.indexOf(“d”))      结果就是   5
    
    
    获取子字符串
    • charAt(index) 一个字符串中返回指定的字符
     var str1 = "这是一个字符串";
       console.log( str1.charAt(4));  // 字
    
    • slice("开始位置","结束位置"),其中"结束位置" 可以省略
     var txt = "abcdfdef";
           alert(txt.slice(0,4)) ;
    //结果是:abcd
    从0的索引开始到4, 但是不包括4
    
      起始位置可以是负数  , 如果是负数,则是从 右边往左边开始取。
       var txt =”asdf”;
       txt.slice(-1)  结果是   f  
    
    
    • substr("开始位置","截取的个数")
      • 是指从起始位置开始,往后面数几个
     var txt = “abcdefghijk”;
     txt.substr(3,4); 
    
    
    • includes是否包含字符串 返回是一个Bool值
    var str = "svdabc";
    str.includes("a");
    
    
    • padStart("最大长度","填充的数据")
    
       var dt = new Date();
    
     var mm = dt.getMinutes();
    //转化为字符串
     var str =  mm.toString(). padStart("2","0");
    
    console.log(str)
    
    // 分钟  02 
    
    

    -padEnd()

    例子

           var str = "122340.12345";
           var num =   str.indexOf(".") + 3;
            console.log(str.substr(0,num));
    
    
    
    • 字符串是可以看成多个字符组成的数组
    var str = "hello";
        for (var i = 0; i < str.length; i ++) {
            console.log(str[I]);
        }
        
    
    • 应用
    //找到这个字符串中所有的 o 出现的位置
        var str2 = "hello wod odd ott fbo nhyo";
        var index = 0;
        var key = "o";
    
        while ((index = str2.indexOf(key,index)) != -1){
                console.log(index);
                index+= key.length;
            
        }
    
    str2.indexOf(key,index) 获取到o的index索引值,在索引值赋值给index,
    只要index != -1说明还没有找完, index +=key.length,是让从找到o的下一个位置 继续寻找
    
    //找到这个字符串中每个字符串出现了多少次
    //思路:创建一个空对象,字母作为key,字母出现的次数作为Value
             var str3 = "whatOareYyouYnoYshaHleiHoHmyHgod";
             
             str3 = str3.toLocaleLowerCase();
            
             var obj = {};
             for (var i = 0; i < str3.length; i ++) {
                //获取到key
                var key = str3[i];
                //判断是否存在
                if (obj[key]) {
                    //存在 说明已经出现过,次数加一
                    obj[key]++;
                }else{
                    //说明是第一次出现,value设置为1
                    obj[key] = 1;
                }
             }
        
        
        for (var key in obj) {
            
            console.log(key +"出现的次数是:" + obj[key] );
        }
    

    相关文章

      网友评论

          本文标题:JS中的字符串

          本文链接:https://www.haomeiwen.com/subject/fjpxrctx.html