JavaScript 数组的操作方法

1.concat( )方法:基于当前数组中的所有项创建一个新数组。具体来说,该方法先回创建当前

数组的一个副本,然后将接收到的参数添加到这个数组的末尾,最后返回新构建的数组。


具体来说,可分为以下三种情况:


(1)当没有向concat( )传递参数时,它会复制当前数组并返回当前数组的一个副本;如例1所示:

例1:

var str=[1,3,2,'red','green'];

var arr0=str.concat()
alert(arr0); //返回值仍是原来的数组:1,3,2,red,green


(2)当传递的参数是一个或多个数组时,它会将数组的每一项添加到结果数组中;如例2所示:

例2:

var str=[1,3,2,'red','green'];

var arr2=str.concat('111',['11','22','33']);

alert(arr2); //返回结果为:1,3,2,red,green,111,11,22,33


(3)当传递的值不是数组,这些值就会被添加到数组的末尾。如例3所示:

例3:

var str=[1,3,2,'red','green'];

var arr1=str.concat("123");

alert(arr1); //返回结果为:1,3,2,red,green,123



2.slice( )方法:基于当前数中的一个或多个项创建新数组(副本)。

slice( )方法可以接受一个或两个参数,即要返回项的起始和结束位置。


分为两种具体情况:


(1)当只有一个参数时,slice( )方法返回从该参数指定位置开始到当前数组末尾的所有项。

如例4所示:

例4:

var str=[1,2,3,4,5,6,7];
var arr=str.slice(1);
var arr1=str.slice(3);
alert(arr); //返回值为:2,3,4,5,6,7
alert(arr1); //返回值为:4,5,6,7


(2)当接收两个参数时:返回起始和结束位置之间的项,但不包括结束位置的项

如例5所示:

例5:

var str=[1,2,3,4,5,6,7];
var arr=str.slice(1,3);
var arr1=str.slice(3,4);
alert(arr);//返回值为:2,3
alert(arr1);//返回值为:4



3.splice( )方法:主要有以下三种用法:


(1)删除:可以删除任意数量的项,只需要指定2个参数:要删除的第一项的

位置和药删除的项数。用法如例6所示:

例6:

var str=[1,2,3,4,5,6,7];
var arr=str.splice(2,3);
alert(arr); //返回值是:3,4,5
alert(str); //返回值是:1,2,6,7


(2)插入:可以向指定位置插入任意数量的项,只需要提供3个参数:起始位置、

0(要删除的项数)、要插入的项。如果要插入多个项,可以再传入第4,第5

以至任意多个项。如例7所示:

例7:

var str=[1,2,3,4,5,6,7];
var arr=str.splice(2,0,"color","green");
alert(arr); //返回的是空数组
alert(str); //返回值:1,2,color,green,3,4,5,6,7


(3)替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项。只需指

定3个参数:起始位置要删除的项数要插入的任意数量的项。插入的项数不必

与删除的项数相等。如例8所示:

例8:

var str=[1,2,3,4,5,6,7];
var arr=str.splice(2,1,"color","green");
alert(arr); //返回值为:3
alert(str); //返回值:1,2,color,green,4,5,6,7


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值