JavaScript 数组的常用操作

JavaScript splice 方法

splice 方法用于插入、删除或替换数组的元素。语法如下:

array_object.splice(start, num, element1, element1, ...)
参数说明:
参数说明
array_object 要操作的数组(对象)
start 必需。开始添加/删除元素的下标数字。
num 可选。规定应该删除多少元素,数字。可以是 "0",如果省略则删除从 start 到原数组结尾的所有元素。
element1, ... 可选。规定从 start 处要添加到数组的新元素序列,使用 , 分隔多个元素。

如果从 array_object 中删除了元素,则返回的是被删除的元素的数组。

splice 方法删除元素实例

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,2) + '<br />' );
document.write( array_1 );

</script>

运行该例子,输出:

b,c
a,d

注意:上面 splice 方法返回的是一个数组,该数组包含了被删除的 'b','c' 两个元素。

splice 方法插入元素实例

当 num 参数设置为 0 且 element1 等参数不为空时,将把 element1, ... 等元素插入 start 处。

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,0,'tom') + '<br />' );
document.write( array_1 );

</script>

运行该例子,输出:

a,tom,b,c,d 

可见在插入数组模式下,splice 方法不返回任何内容。

splice 方法替换元素实例

当 num 参数设置大于 0 且 element1 等参数不为空时,将把 element1, ... 等元素替换在被删除的数组处。这个过程我们可以看做是上面删除元素与插入元素的结合。

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,2,'tom') + '<br />' );
document.write( array_1 );

</script>

运行该例子,输出:

b,c
a,tom,d

可见在替换模式下,返回的仍然是包含被删除的元素的数组,而将参数里的元素序列从删除的位置插入。

JavaScript shift 方法

shift 方法用于删除数组的第一个元素,并返回删除的元素值。语法如下:

array_object.shift( )

数组执行 shift 方法后,数组长度减 1 ,后面的元素(如果有的话)下标同时减 1 。如果数组已经为空,则数组不会被改变,shift 方法将返回 undefined。

pop 方法实例

<script language="JavaScript">

var array_1 = new Array('a','b','c');
document.write( array_1.shift() + '<br />' );
document.write( array_1 );

</script>

运行该例子,输出:

a
b,c

JavaScript unshift 方法

unshift 方法用于向数组的开头添加一个或多个元素,并返回新数组的长度。语法如下:

array_object.unshift( newelement1, newelement2, ... )
参数说明:
参数说明
array_object 要操作的数组(对象)
newelement1, ... 至少一个。要添加到数组的元素序列,使用 , 分隔。

提示:unshift 方法将直接修改原数组,并将已经存在的元素顺次地移到较高的下标处,而不像其他很多方法一样得到一个原数组的副本。

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 而不是新数组的长度。

原文地址:https://www.cnblogs.com/yeminglong/p/3480954.html