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

数组方法

js提供了一套作用于数组的方法。这些方法是被存储在Array.prototype中的函数,它是可以被扩充的。
在学习js数组方法之前应该大概了解浅复制和深复制的概念。

    深复制:在计算机中开辟了一块内存地址用于存放复制的对象。
    浅复制:仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应的改变。
    他们两个最根本的区别在于是否真正获取了一个对象的复制实体,而不是引用。

1:array.concat()
contat方法是连接两个数组并返回一个新的数组,它包含array的浅复制。
2:array.join()
join方法是将一个数组通过括号里面的参数拼接成一个字符串,默认是通过 ‘,’ 拼接。
3:array.push()
push方法将一个或者多个参数添加到数组的末尾。它会修改原本的数组,返回的是这个数组的新长度值。

    var arr = ['a','b','c'];
    var a = arr.push('d');
    console.log(arr1) 
    //a=4,arr = ['a','b','c','d']

4:array.pop()
pop方法将数组的最后一个元素移除。它会修改原来的数组并返回该元素

       var arr = ['a','b','c'];
       var a = arr.pop();
       //arr = ['a','b'];a = c

5:array.unshift()
unshift方法与push方法相反,是每次往数组的前面插入数值。返回的也是这个数组的新长度。

       var arr = ['a','b','c'];
       var a = arr.unshift();
       //arr = ['d','a','b','c'];a = 4

6:array.shift()
shift方法与pop方法相反,是每次移除数组的第一个元素。返回的也是这个元素。

       var arr = ['a','b','c'];
       var a = arr.shift();
       //arr = ['b','c'];a = ‘a'

7:array.reverse()
reverse方法反转array中的元素的顺序。它返回当前的数组

    var arr = ['1','2','3'];
    var a = arr.reverse();
    //arr = a = ['3','2','1']

8:array.slice()
slice方法对数组中的一段做浅复制。它会接受一个或两个参数。如果是一个参数,那么就是从这个位置开始截取到数组结尾。如果是两个参数,那么就从第一个参数开始截取到第二个参数的位置(不含第二个参数)。如果遇到负数,会从后面开始查询。

    var arr = ['1','2','3'];
    var b = arr.slice(1,2);
    var a = arr.slice(-1);
    //arr = ['1','2','3'],b = '1',a = '3'

9:array.splice()
splice方法恐怕要算是最大的数组方法了。它有很多种用法。主要用途是向数组的中部插入项。
删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数。

    var arr = ['1','2','3'];
    var b = arr.splice(0,2);
    //arr = ['3'],b = ['1','2']

插入:可以向指定位置插入任意数量的项,只需提供3个参数:其实位置,0(要删除的项数)和要插入的项。如果要插入多个项,可以再传入第四,第五等等。

    var arr = ['1','2','3'];
    var b = arr.splice(0,0,'4','5');
    //arr = ['4','5''1','2','3'],b = []

替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需提供3个参数:其实位置,要删除的项数和要插入的项。

    var arr = ['1','2','3'];
    var b = arr.splice(0,2,'4','5');
    //arr = ['4','5''3'],b = ['1','2']

字符串方法

1:string.charAt()
charAt()方法返回在该位置的字符。如果小于0或者大于字符串的长度,它就会返回空字符串。

    var str = 'zhang';
    var it = str.charAt(2);
    //it = 'a';

2:string.charCodeAt()
charCodeAt()方法返回在该位置的字符的unicode值,以整数形式表示。如果小于0或者大于字符串的长度,它就会返回NaN。

    var str = 'zhang';
    var it = str.charCodeAt(2);
    //it = 97

3:string.indexOf()
indexOf()方法可以接受一个或者两个参数。如果接受一个参数,就从头开始查找这个参数出现的位置;如果接受两个参数,就从第二个参数的位置开始查找这个参数出现的位置。

    var text = 'zhangzzang';
    var p = text.indexOf('z');
    var m = text.indexOf('z',3);
    var l = text.indexOf('z',20)
    //p=0;m=5;l=-1

4:string.split()
split()方法把字符串通过第一个参数连接成数组。

    var text = '192.68.667.6';
    var b = text.split('.');
    //b = ['192','68','667','6'];
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值