JS如何在数组指定位置插入元素
一、JavaScriptsplice()方法
splice()方法向/从数组中添加/删除项目,然后返回被删除的项目。
方法实例
//在数组指定位置插入 varfruits=["Banana","Orange","Apple","Mango"]; fruits.splice(2,0,"Lemon","Kiwi"); //输出结果 //Banana,Orange,Lemon,Kiwi,Apple,Mango
//在数组开头插入 varshuiguo=["Banana","Orange","Apple","Mango"]; shuiguo.splice(0,0,"Lemon"); //输出结果 //Lemon,Banana,Orange,Apple,Mango 语法 array.splice(index,howmany,item1,.....,itemX)
参数Values
参数描述
index必需。规定从何处添加/删除元素。
该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany必需。规定应该删除多少元素。必须是数字,但可以是"0"。
如果未规定此参数,则删除从index开始到原数组结尾的所有元素。
item1,...,itemX可选。要添加到数组的新元素
返回值
Type描述
Array如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。
二、JavaScriptunshift()方法
unshift方法用于向数组的开头添加一个或多个元素,并返回新数组的长度。
语法
array_object.unshift(newelement1,newelement2,...)
参数Values
参数说明
array_object要操作的数组(对象)
newelement1,...至少一个。要添加到数组的元素序列,使用,分隔。
提示:unshift方法将直接修改原数组,并将已经存在的元素顺次地移到较高的下标处,而不像其他很多方法一样得到一个原数组的副本。
方法实例
vararray_1=newArray('a','b','c'); document.write(array_1.unshift(1,2)+'
'); document.write(array_1);
运行该例子,输出:
5
1,2,a,b,c
注意
在IE某些版本下,该方法返回的可能是undefined而不是新数组的长度。
三、JavaScriptconcat()方法
定义和用法
concat()方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数描述
arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有arrayX参数添加到arrayObject中生成的。如果要进行concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。
实例
例子1
在本例中,我们将把concat()中的参数连接到数组a中:
vara=[1,2,3]; document.write(a.concat(4,5));
输出:
1,2,3,4,5
例子2
在本例中,我们创建了两个数组,然后使用concat()把它们连接起来:
vararr=newArray(3) arr[0]="George" arr[1]="John" arr[2]="Thomas" vararr2=newArray(3) arr2[0]="James" arr2[1]="Adrew" arr2[2]="Martin" document.write( arr.concat(arr2) )
输出:
George,John,Thomas,James,Adrew,Martin
例子3
在本例中,我们创建了三个数组,然后使用concat()把它们连接起来:
vararr=newArray(3) arr[0]="George" arr[1]="John" arr[2]="Thomas" vararr2=newArray(3) arr2[0]="James" arr2[1]="Adrew" arr2[2]="Martin" vararr3=newArray(2) arr3[0]="William" arr3[1]="Franklin" document.write( arr.concat(arr2,arr3) )
输出:
George,John,Thomas,James,Adrew,Martin,William,Franklin
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。