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] );
    }

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。