• js数组、字符串常用方法


    Posted on 2016-01-08 23:19 _银弹 阅读(486) 评论(0) 编辑 收藏

    常常在开发中,会使用到很多js数组和字符串的处理方法,这里列举一些常用到的一些,方便大家参考使用。

    数组方面

    1. push:向数组尾部增加内容,返回的是新数组的长度。

      var arr = [1,2,3];
      console.log(arr);
      var b = arr.push(4);
      console.log(b);
      console.log(arr);
      //  [1, 2, 3]
      //  4   //表示当前数组长度
      // [1, 2, 3, 4]

      与之相反的是pop, 在结尾删除一个值,并返回删除的值。

      var arr = [1,2,3];
      console.log(arr);
      arr.pop();
      console.log(arr);
      // [1,2,3]
       //[1,2]
    2. unshift :向数组开头增加内容,返回新数组的长度。

      var c = arr.unshift(-1,0);
      console.log(arr);
      // [-1, 0, 1, 2, 3]

      与之相反的是shift,在开头删除一个值,并返回删除的值。

      var d = arr.shift();
      console.log(d);
      console.log(arr);
      // 1
      // [2, 3]
    3. toString:数组转化成字符串,原来的数组不变。

      console.log(arr);
      arr = arr.toString();
      console.log(arr);
      // [1,2,3]
       //'1,2,3' 而不是'123'
    4. concat:数组的拼接,参数可以是数组也可以一个接一个,原来的数组不变。

      var arr = [1,2,3];
      var b = arr.concat([1,2,3]);
      console.log(b);
      //[1,2,3,1,2,3]

      concat

    5. join:(分隔符),每一项拿出来用指定的分隔符分开,不带参数默认为",",原来的数组不变。

      var arr = [1,2,3];
      var b = arr.join("");
      console.log(b);
      //"123"
    6. splice 和 slice
      splice(x,y,z) 从x开始清除长度为y的元素,并用z替换。z类似于item1, ..., itemX这样。原来的数组改变。

      var arr = [1,2,3];
      arr.splice(0,1,"");
      console.log(arr);
      // '["",2,3]'
      当不写第三个数的时候,相当于删除功能!当第二个为0时,相当于添加功能!
      • 详解
      • 删除时,两个参数,第一个是开始位置,第二个是删除长度。
      • 插入时,三个参数,第一个是插入位置(在之前插入),第二个是0,第三个是插入的内容。
      • 替换时,三个参数,第一个是开始位置,第二个是删除长度,第三个是替换的内容
        slice(x,y) :从x到y(不包括),并把新的内容作为新的数组返回。原来的数组不变。

        var b = arr.slice(0,1);
        // [1]
    7. reverse: 将原来的数组倒过来排序,原来的数组改变。

      var arr = [1,2,3];
      arr.reverse();
      console.log(arr);
      // [3,2,1]
    8. sort:排序,可以实现由小到大,由大到小。基本的只能处理10以内,要额外的处理。原来的数组改变。

      var arr = [1,3,2,50,23];
      arr.sort(function(a,b) {return a - b ;}); //从小到大
      console.log(arr);
      // [1,2,3,23,50] 
      // 更换a和b的顺序,就是从大到小。
      //也可以这样。
      [{name:"张三",age:30},{name:"李四",age:24},{name:"王五",age:28}].sort(function(o1,o2){returno1.age-o2.age;}) 
      // [{name: "李四",age: 24 },{name: "王五",age: 28},{name: "张三",age: 30 }]           
    9. 再类似于forEach、filter、map、reduce等。

    字符串

    1. charAt: 返回字符串的给定位置的字符串。

      var arr = 'abcdefg';
      console.log(arr.length);
      console.log(arr.charAt(1));
      console.log(arr[1]);
      // 7
      // b
      // b
    2. concat: 连接2个字符串。原来的不变。

      var b = arr.concat("abc");
      console.log(b);
      // "abcdefgcde"
    3. substring、substr、slice 都可省略第二个参数,表示持续到字符串结束。
      substring(x,y) 返回从x到y(不包括y) 位置颠倒时,互换。

      var s = arr.substring(1,3);
      console.log(s);
      // "bc"

      substr(x,y) 返回从x开始的长度为y的字符串

      var s = arr.substr(1,3);
      console.log(s);
      // "bcd"

      slice(x,y) 返回从x到y(不包括y) 位置颠倒时,结果为空字符串

      var s = arr.slice(1,3);
      console.log(s);
      var s = arr.slice(3,1);
      console.log(s);
      // bc
      //  ""
    4. trim : 去除两端的空格,不影响之前的字符串

      var arr = '  abcdefg     ';
      var a = arr.trim();
      console.log(a);
      //abcdefg
      半角全角空格、中英文空格、tab键一招根除。
    5. toLowerCase 、toUpperCase :转为大小写,原来的不变。

      var b = arr.toUpperCase();
      console.log(b);
      //"ABCDEFG"
    6. indexOf、lastIndexOf,确定一个字符串在另一个字符串中的第一次出现的位置,一个从头部开始,一个从尾部开始。

      var arr = 'abccba';
      var b = arr.indexOf('b');
      console.log(b);
      // 1
      var c = arr.lastIndexOf('c');
      console.log(c);
      // 3
      它们还可以接受第二个参数,对于indexOf,表示从该位置开始向后匹配;对于lastIndexOf,表示从该位置起向前匹配。
    7. split 将separate作为切割字符,结果存在一个字符串中。

      var arr = 'a b c c b a';
      var b = arr.split(' ');
      console.log(b);
      // ["a", "b", "c", "c", "b", "a"]

      为空时,相当于字符串转为了数组。
      - - --

      补充:

    • 数字:
      toFixed() 保留小数,结果是字符串类型的!!。

      var a = 1.1212;
      console.log(a.toFixed(2));
      // 1.12  
    • parseInt 和 parseFloat

      var a = 024;
      console.log(parseInt(a,10));
      // 24
    • 字符串转数字 parseInt
    • 数字转字符 toString or 数字 + ""

  • 相关阅读:
    每日日报2021 5/25
    每日日报2021 5/24
    Rust-Cargo是什么
    Rust学习-Intellij开发环境配置
    设计模式-命令模式
    918. Maximum Sum Circular Subarray
    不错的画类图工具-PlantUML
    Daily Coding Problem: Problem #793
    读懂UML类图
    1753. Maximum Score From Removing Stones
  • 原文地址:https://www.cnblogs.com/AKI-LILI/p/6047856.html
Copyright © 2020-2023  润新知