JavaScript数组添加元素

JavaScript数组添加元素教程

JavaScript数组 中添加元素有四种方法,即:直接使用 [] 添加元素、使用 push 添加元素、使用 unshift 添加元素和使用 splice 添加元素。

JavaScript添加元素详解

语法

arr[index] = value;

说明

向数组 arr 的索引为 index 的位置添加元素 value。

JavaScript push方法详解

定义

JavaScript 的 push() 方法 可向数组的末尾添加一个或多个元素,并 返回 新的长度。

语法

arrayObject.push(newelement1,newelement2,....,newelementX)

参数

参数 描述
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。

返回值

把指定的值添加到数组后的新长度。

说明

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

注意

该方法会改变数组的长度。

JavaScript unshift方法详解

定义

JavaScript 的 unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

语法

arrayObject.unshift(newelement1,newelement2,....,newelementX)

参数

参数 描述
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。

返回值

arrayObject 的新长度。

说明

unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。

请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。

注意

该方法会改变数组的长度,且 unshift() 方法无法在 Internet Explorer 中正确地工作!

JavaScript splice方法详解

定义

JavaScript 的 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

语法

arrayObject.splice(index,howmany,item1,.....,itemX);

参数

参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。

返回值

返回一个数组,该数组包含被删除的项目。

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

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

技术细节

splice() 方法需要在 JavaScript 的 1.2 即以上版本才可以使用。

浏览器支持

所有主流浏览器都支持 splice() 方法。

注意

splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

案例

数组添加元素

给定义好的数组的指定索引位置处添加元素

<!DOCTYPE html> <html> <head> <title>JavaScript数组添加元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(); arr[0] = "JavaScript"; arr[1] = "Python"; arr[2] = "Golang"; arr[5] = "C++"; console.log("Arr =", arr); </script> </head> </html>

程序运行后,控制台输出如下:

08_Javascript数组添加元素.png

我们使用 new 创建了一个数组 arr,接着,可以直接使用数组下标的形式给数组指定索引处添加元素。

数组追加元素

使用数组的 push 方法给数组追加元素

<!DOCTYPE html> <html> <head> <title>JavaScript数组追加元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(); arr.push("夏"); arr.push("商"); var len1 = arr.push("周"); arr.push("秦"); var len2 = arr.push("汉", "三国", "晋"); console.log("Len1 =", len1, "Len2 =", len2); console.log("Arr =", arr); </script> </head> </html>

程序运行后,控制台输出如下:

09_Javascript数组追加元素.png

我们使用 new 创建了一个数组 arr,接着,我们使用数组的 push 方法向数组的末尾追加元素,同时,我们可以看到数组的 push 方法返回的是追加元素之后的数组的长度。

最后,我们使用 push 方法一次向数组中添加了三个元素,同时返回了追加元素之后的数组的长度。

数组开头添加元素

使用数组的 unshift 方法向数组的头部添加元素

<!DOCTYPE html> <html> <head> <title>JavaScript数组头部添加元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(); arr.unshift("夏"); arr.unshift("商"); var len1 = arr.unshift("周"); arr.unshift("秦"); var len2 = arr.unshift("汉", "三国", "晋"); console.log("Len1 =", len1, "Len2 =", len2); console.log("Arr =", arr); </script> </head> </html>

程序运行后,控制台输出如下:

10_Javascript数组头部添加元素.png

我们使用 new 创建了一个数组 arr,接着,我们使用数组的 unshift 方法向数组的头部插入元素,同时,我们可以看到数组的 unshift 方法返回的是掺入元素之后的数组的长度。

最后,我们使用 unshift 方法一次向数组中插入了三个元素,同时返回了插入元素之后的数组的长度。我们可以看到,使用 unshift 方法插入的元素是插入到了数组的头部,但是,如果我们一次性插入多个元素,那么这几个元素并不是倒叙的。

数组添加元素

使用数组的 splice 方法向数组中添加元素

<!DOCTYPE html> <html> <head> <title>JavaScript数组头部添加元素</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = new Array(); arr.push("夏"); arr.push("商"); arr.push("周"); arr.push("秦"); arr.push("汉"); arr.push("三国"); console.log("Arr =", arr); arr.splice(3, 0, "西周"); console.log("Arr =", arr); arr.splice(6, 0, "西汉"); console.log("Arr =", arr); </script> </head> </html>

程序运行后,控制台输出如下:

11_Javascript数组添加元素.png

我们使用 new 创建了一个数组 arr,并且我们使用数组的 push 方法向数组的尾部追加了六个元素,接着,我们使用了 splice 函数在数组的索引为 3 的位置插入了一个元素 “西周”,此时 splice 的第二个参数为 0,即表示不删除元素直接插入。

最后,我们再次使用了 splice 函数在数组的索引为 6 的位置插入了一个元素 “西汉”,此时 splice 的第二个参数也为 0,即表示不删除元素直接插入。

JavaScript数组添加元素总结

向 JavaScript 的数组中添加元素有四种方法,即:直接使用 [] 添加元素、使用 push 添加元素、使用 unshift 添加元素和使用 splice 添加元素。