JS中的字符串

2019-07-26  本文已影响0人  追逐_chase
web.jpeg

字符串

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

  "hello" -> ["h","e","l""l","0"];
  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
 

字符串常用的方法操作


转化大小写
var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'
var s = 'Hello';
var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
lower; // 'hello'
字符串的拼接
var str = "hello";
var resulrt = str.concat("我是","cc");
console.log(resulrt);
//打印结果:
hello我是cc
字符串的替换

         var resulrt = hello我是cc
    var str1 =  resulrt.replace("cc","110");
    console.log(str1);
获取字符串的位置
 var txt = “abcdef”;
 alert(txt.indexOf(“d”))      结果就是   3

 var txt = “abcdfdef”;
 alert(txt.indexOf(“d”))      结果就是   5

获取子字符串
 var str1 = "这是一个字符串";
   console.log( str1.charAt(4));  // 字
 var txt = "abcdfdef";
       alert(txt.slice(0,4)) ;
//结果是:abcd
从0的索引开始到4, 但是不包括4

  起始位置可以是负数  , 如果是负数,则是从 右边往左边开始取。
   var txt =”asdf”;
   txt.slice(-1)  结果是   f  

 var txt = “abcdefghijk”;
 txt.substr(3,4); 

var str = "svdabc";
str.includes("a");


   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] );
    }
上一篇下一篇

猜你喜欢

热点阅读