JavaScript字符串使用方法

100 阅读1分钟

字符串的方法

  1. charAt()
    • 作用:通过下标找到对应的字符串
       var sty = "aewewerrer";
       console.log(sty.charAt(0)); //a
    
  2. charCodeAt()
    • 作用:通过下标找到对应字符的 ASCll
       var sty = "aewewerrer";
       console.log(sty.charCodeAt(0)); //97
    
  3. indexOf()
    • 作用:查找字符串中的元素下标,第一参数是你要查找的值,第二个值是你要限定的范围:indexOf 表示从这个下标开始,lastIndexOf 表示查找最后一次出现的位置
       var sty = "aewewerrer";
       console.log(sty.indexOf("e"));//1
       console.log(sty.lastIndexOf("e"));//8
    
  4. slice()
    • 作用:截取字符串,参数(m,n)包含 m,不包含 n;如果参数中有负数,用 length 加完后在处理
       var sty = "aewewerrer";
       console.log(sty.slice(3, 5));
    
  5. substring(n,m)
    • 作用:和 slice 一样但是它不支持负数索引
  6. substr()
    • 作用:第一个下标就是就是开始的位置,第二个参数表示截取几个
       var sty = "aewewerrer";
       console.log(sty.substr(3, 4));//ewer
    
  7. toUpperCase()
    • 作用:是把字符全部转化为大写
  8. toLowerCase()
    • 作用:把字符全部转化为小写
  9. replace()
    • 作用:替换掉数组中的相应字符替换掉,只能换掉第一个(一般配合正则使用)
       var sty = "aewewerrer";
       console.log(sty.replace("aew", "yyy")); //yyyewerrer
    
  10. split()
  • 作用:用符号将字符串分割成数组

       var sty = "aewewerrer";
       console.log(sty.split(""));
       //[a,e,w,e,w,e,r,r,e,r]
    
  1. 网址拆解
     var str = "https://www.baidu.com/s?tn=44004473_41_oem_dg&ie=utf-8&wd=%E5%B0%8F%E7%B1%B3%E5%AE%98%E7%BD%91";
     function preat(str) {
         var strSlice = str.split("?");
         var strArry = strSlice[1].split("&");
         var obj = {};
         for (var i = 0; i < strArry.length; i++) {
             strArry[i] = strArry[i].split("=");
             obj[strArry[i][0]] = strArry[i][1];
         }
         return obj;
     }
     console.log(preat(str));

Math 的常用方法

  1. Math.abs():绝对值 console.log(Math.abs(-1)); // 1
  2. Math.floor()向下取整,无论是正数还是负数都取小的 console.log(Math.floor(1.7));// 1
  3. Math.ceil()向上取整,无论是正数还是负数取的都是大的 console.log(Math.floor(1.7)); // 2
  4. Math.round()对小数四舍五入 console.log(Math.round(1.6)); // 2
  5. Math.sqrt()开平方 console.log(Math.sqrt(9)); // 3
  6. Math.pow(n,m)取幂
  7. Math.PI()圆周率 π
  8. Math.min()取最小值
  9. Math.max()取最大值
  10. math.random()取 0 到 1 不包含 1 的随机数
  • Math.random()*(m-n)+n;//m:最大的值,n:最小的值,取随机的 n-m 之间的数
  1. 输出水仙花数
    for (var i = 101; i < 1000; i++) {
        var a = i % 10;
        var b = Math.floor(i / 10 % 10);
        var c = Math.floor(i / 100);
        if (i == a * a * a + b * b * b + c * c * c) {
            console.log(i)
        }
    }
  1. 获取每个字符串的个数
     var str = "smonsigjagidngoaenaoenbognaehuraehuabeiaerbiuaeerbngaegnagnkanoiawnoawnegoagnoianoiangoanegioniognaewonoagawhgineaonboaernb";
     obj = {};  
     for (var i = 0; i < str.length; i++) {
         var key = str[i];
         //判断数组中的属性名是否存在
         if (typeof obj[key] === "undefined") {
             obj[key] = 1;
             //如果不存在就给属性值赋1
         } else {
             obj[key] += 1;
             //如果存在就给属性值加一
         }
     }
     var newMax = 0;
     var code = '';
     //遍历对象查找字符出现最多的数
     for (var k in obj){
        //判断如果出现辞职大于newMax就将这一项付给newMax
         if(obj[k] > newMax){
             newMax = obj[k];
             code = k;
         }
     }
     console.log(`字符串str中最大的字符是${code}一共有${newMax}个`);