在JS数组指定位置插入元素
一、JavaScript splice() 方法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
方法实例
//在数组指定位置插入 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2, 0, "Lemon", "Kiwi"); //输出结果 //Banana, Orange, Lemon, Kiwi, Apple, Mango
//在数组开头插入 var shuiguo = ["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 中删除了元素,则返回的是含有被删除的元素的数组。
二、JavaScript unshift() 方法
unshift 方法用于向数组的开头添加一个或多个元素,并返回新数组的长度。
语法
array_object.unshift( newelement1, newelement2, ... )
参数 Values
参数 说明
array_object 要操作的数组(对象)
newelement1, ... 至少一个。要添加到数组的元素序列,使用 , 分隔。
提示:unshift 方法将直接修改原数组,并将已经存在的元素顺次地移到较高的下标处,而不像其他很多方法一样得到一个原数组的副本。
方法实例
<script language="JavaScript">
var array_1 = new Array('a','b','c');
document.write( array_1.unshift(1,2) + '<br />' );
document.write( array_1 );
</script>
运行该例子,输出:
5
1,2,a,b,c
注意
在 IE 某些版本下,该方法返回的可能是 undefined 而不是新数组的长度。
三、JavaScript concat() 方法
定义和用法
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数 描述
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
实例
例子 1
在本例中,我们将把 concat() 中的参数连接到数组 a 中:
<script type="text/javascript"> var a = [1,2,3]; document.write( a.concat(4,5) ); </script> 输出: 1,2,3,4,5 例子 2 在本例中,我们创建了两个数组,然后使用 concat() 把它们连接起来: <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" document.write( arr.concat(arr2) ) </script> 输出: George,John,Thomas,James,Adrew,Martin 例子 3 在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来: <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" var arr3 = new Array(2) arr3[0] = "William" arr3[1] = "Franklin" document.write( arr.concat(arr2,arr3) ) </script> 输出: George,John,Thomas,James,Adrew,Martin,William,Franklin