JavaScript(八)-字符串与数组

字符串

1.获取字符串长度

  let x = "哈哈哈 abc";
   //字符串的长度
    console.log(x.length);

2.字符串下标取值

    //字符串的这个取值方法不兼容低版本的ie浏览器
    console.log(x[5]);
    //这个方法兼容所有浏览器
    console.log(x.charAt(5));

注:字符串不能够通过 length或者下标的方式修改自己本身,字符串不能修改只能获取

3.charcodeAt(Unicode编码)

    let x = " 09azAZ老师";

    console.log( x.charCodeAt(1) );
    console.log( x.charCodeAt(2) );
    console.log( x.charCodeAt(3) );
    console.log( x.charCodeAt(4) );
    console.log( x.charCodeAt(5) );
    console.log( x.charCodeAt(6) );
    console.log( x.charCodeAt(7) );
    console.log( x.charCodeAt(8) );
    console.log( x.charCodeAt(9) );
    console.log( x.charCodeAt(10) );

注:每个汉字和数字都有单独对应的Unicode编码

4.String.fromCharCode 

console.log( String.fromCharCode(22222) );

注:将unicode编码转换对应数字,汉字,字符

5.操作字符串的方法

(1) substring,  slice

    let x = "夏栀老师";

    //包含起始,不包含结束
    console.log(x.substring(0, 2));

    //可正截取也可倒截取
    console.log(x.slice(0, 2));
    console.log(x.slice(-2, -1));

(2)  toUpperCase, toLowerCase(英文大小写转换)

    let str = "abcD";
    //只有针对英文字母大写转换
    console.log( str.toUpperCase() );
    console.log( str.toLocaleUpperCase() );
    //转小写
    console.log( str.toLowerCase() );
    console.log( str.toLocaleLowerCase() );

(3) indexOf  (查找字符串位置)

    console.log(x.indexOf("夏"));//12
    console.log(x.indexOf("夏 栀"));//-1

    console.log(x.indexOf("a"));//0
    console.log(x.indexOf("a", 2));//18

(4)  split (以某个字符串为界线,把字符串分开成数组)

    let str = "Fly,夏栀,芊芊,发发,小龙,兮夜,风屿";

    //以某个字符串为界线,把字符串分开成数组

    console.log( str.split(",") );
    console.log( str.split(",")[2] );

    // console.log( str.split("") );

数组

1. 数组的操作

    //原数组发生变化
    // arr.push(4);
    // arr.push(4,5);

    /*arr.unshift(88);
    arr.unshift(88,99);*/

    arr.pop();
    arr.shift();


    console.log(arr);

push 在数组后面塞 pop() 在数组后面删除
unshift 在数组前面塞 shift() 在数组前面删除

(1)  splice 切割数组 

含义:参数:从第几位开始,删除几个,用什么数据替换,用什么数据替换,...

    let a = [4,5,66,77,8];
    
    // a.splice(2,1,99);
    a.splice(2,0,99);

    console.log(a);

(2)  sort (数组的操作)

   let a = [7,8,5,3,9,77,55,1,20,50];

    a.sort(function(x,y){
      // return x-y; //升序
      // return y-x; //降序
       return -1; //倒序
      // return 1; //不变
    });

    console.log(a);

(3)  concat (数组的拼接)

    let a = [7,8,9];
    let b = [1,5,9];

    let c = a.concat(b);

    console.log(c);

(4) join 

    let arr = [
      "夏栀",
      "Fly",
      "芊芊"
    ];

    console.log( arr.join("===") );

(5)  Array.isArray (判断数据是不是数组)

    let a = [2];
    let b = {
      0:10,
      1:20,
      length:2
    };


    console.log( Array.isArray(a) );
    console.log( Array.isArray(b) );

遍历 (forEach)

    let a = ["Fly","夏栀","芊芊","发发"];

    a.forEach(function(item,index){
      console.log(item, index);
    });

(1)  map (返回一条新数组,对数组统一相同操作时候可用map)

    let b = a.map(function(item){

      return item*item;

    });

(2)   filter  (根据返回值真假来,过滤)

     let c = a.filter(function(item){

      return !(item%2);

    });

    console.log(c);

(3)  for  let key in  遍历对象里的属性

    let obj = {
      name : "Fly",
      age : 18,
      sex : "男"
    };

    for (let key in obj){
      console.log( key, obj[key] );
    }

 

posted @ 2021-02-20 01:42  小衣  阅读(84)  评论(0编辑  收藏  举报