js字符串方法和数组方法

js字符串方法和js数组方法

字符串

铺垫

var str = 'hello world';
console.log(str[1]);//可以直接获取字符串指定位置字符,不建议使用,耗内存。
console.log(str.charAt(1))//e 推荐使用
console.log(str.charAt(str.length-1));// 可以找到字符串的最后一位字符(通用)

1、第一组substring slice substr(字符串的截取操作)
(1)substring:两个参数,第一个参数代表开始位置,第二个参数代表结束位置(不包括结束位置)。
(2)slice:两个参数,第一个参数代表开始位置,第二个参数代表结束位置(不包括结束位置)。
区别
substring会自动调整两个参数的顺序,但是不能是负数,可以只写一个参数,第一个参数是起始位置,结束位置是默认到结束。
slice起始位置一定小于结束位置,支持负数,从字符串末尾向前截取,-1表示最后一位。

var str = 'hello world';
console.log( str.slice(-4,-1) ); //orl
//这里解释一下:-1代表最后一位(从后往前数),但是截取时,还是包含第一个参数位,不包含第二个参数位

(3)substr:两个参数,第一个表示开始位置,第二个参数表示截取长度。
2、第二组indexOf、lastIndexOf(得到对应字符所在的位置)
(1)indexOf:从左向右进行查找,第一个满足条件的,第二个参数:查找的起始位置,默认就是从0位置查找
(2)lastIndexOf:从右向左进行查找 , 第二个参数,指定字符串的起始位置。
找不到指定字符,就会返回 -1 。 查找整体的时候,看第一个字符的位置
includes():Es6新方法,返回布尔值
3、第三组toUpperCase()、toLowerCase() 、trim()

var str = '    He    llo     ';
console.log( str.toUpperCase() );  //全部转大写
console.log( str.toLowerCase() );    //全部转小写
console.log( '('+ str.trim() +')' );   //去掉字符串前后空格的

数组

1、两种创建方式

var arr = [];//字面量创建方式,推荐使用
var arr = new Array('a','b','c','d');//面象对象创建方式

区别:var arr = new Array(3),里面只有一个数字时代表长度为三的数组,而var arr = [3],代表有一位元素3。
插播重点

 var arr = [3];
 arr.length = 5;
 console.log( arr.length );//5
 var str = 'a';
  str.length = 5;   //字符串不能改变长度,但是数组可以改变长度
 console.log( str.length );//1

1、数组遍历和多维数组遍历

    var arr = ['a','b','c','d'];
    for(var i=0;i<arr.length;i++){
        console.log( arr[i] );
    } 

    多维数组
    var arr = [
        ['a','b'],
        ['c','d']
    ];
    //console.log( arr[1][0] );
    for(var i=0;i<arr.length;i++){
        for(var j=0;j<arr[i].length;j++){
            console.log( arr[i][j] );
        }
    }

数组方法
1、第一组push、pop、unshift、shift
重点
pop()、shift():执行完的结果是数组被删除的那一项
push()、unshift():执行完的结果是当前数组的长度
(1)pop():删除数组的最后一项。
(2)shift():删除数组的起始项。
(3)push():往数组的后面添加新的子项。
(4)unshift():往数组前面添加新的子项。

数组和字符串相似对比

1、第一组join、split
(1)join:数组的方法:把数组链接成一个字符串.
重点:括号里的参数是你拼接数组的符号,不写默认为,号。

var arr = [1,2,3,4];
var str = arr.join('+');
console.log(str);//'1+2+3+4'

(2)split:字符串的方法 把字符串切分成一个数组集合。

var str = '1+2+3+4';
var arr = str.split('+');
console.log( arr );   // ["1", "2", "3", "4"]

重点:括号里的参数是你切割成数组的符号,写没有的字符串是直接打印原字符串。
**经典例题:**带横杆转成小驼峰方法

    function foo(str){
    var arr = str.split('-'); 
    for(var i=1;i<arr.length;i++){
    arr[i] = arr[i].substring(0,1).toUpperCase() + arr[i].substring(1);
    }

    return arr.join('');
    }   
    console.log( foo('border-width-left') );

2、concat : 连接多个数组

    var a = [1,2,3];
    var b = [4,5,6];
    var c = a.concat(b , b , b);//1 2 3 4 5 6 4 5 6 4 5 6  
    console.log( c ); 

3、indexOf、lastIndexOf(用法同字符串)
4、slice(字符串也有): 第一个参数是起始位置,第二个参数结束位置(不包含结束位置)

var arr = ['red','yellow','blue','yellow'];
console.log( arr.slice(1,2) );  //  ["yellow"]

5、 splice:可以对数组进行添加、删除、替换。
第一个参数:开始位置,第二个参数:删除的个数,第三个参数往后:要添加的元素,添加到起始位置的前面。
(1)删除功能:

var arr = [a,b,c,d,e];
arr.splice(1,2);
//[a,d,e]

(2)替换功能

var arr = [a,b,c,d,e];
arr.splice(1,2,q,w,e,r);
//[a,q,w,e,r,d,e];

(3)添加功能

var arr = [a,b,c,d,e];
arr.splice(1,0,q,w,e,r);
//[a,q,w,e,r,b,c,d,e];

(4)删除自身
splice(开始位置,1);
小结
join、concat、slice + (map、filter、every、some、toString、indeOf、lastIndexOf) : 不能修改原数组
push、pop、unshift、shift + ( splice、reverse、sort ) : 能修改原数组

继续增加!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值