一、在数组开头添加元素:unshift()

在JavaScript中,我们可以使用unshift()方法在数组开头添加新元素,并且可以得到一个新的数组(也就是原数组变了)。

语法:

数组名.unshift(新元素1, 新元素2, ……, 新元素n)

说明:

“新元素1, 新元素2, ……, 新元素n”表示在数组开头添加的新元素。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var arr = ["JavaScript", "jQuery"]; arr.unshift("HTML", "CSS"); document.write(arr); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

从这个例子可以直观地看出来,使用unshift()方法为数组添加新元素后,该数组已经改变了。此时arr[0]不再是"JavaScript",而是"HTML";arr[1]也不再是"jQuery";,而是"CSS"。此时arr.length也由2变为4了。当然我们可以验证一下,请看下面例子:

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var arr = ["JavaScript", "jQuery"]; document.write("添加前:<br/>arr[0]:" + arr[0] + "<br/>arr[1]:" + arr[1] + "<br/>"); arr.unshift("HTML", "CSS"); document.write("添加后:<br/>arr[0]:" + arr[0] + "<br/>arr[1]:" + arr[1]); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

二、在数组结尾添加元素:push()

在JavaScript中,我们可以使用push()方法在数组结尾添加新元素,并且可以得到一个新的数组(也就是原数组变了)。

语法:

数组名.push(新元素1, 新元素2, ……, 新元素n)

说明:

“新元素1, 新元素2, ……, 新元素n”表示在数组结尾添加的新元素。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var arr = ["HTML", "CSS"]; arr.push("JavaScript","jQuery"); document.write(arr); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

从这个例子也可以直观地看出来,使用push()方法为数组添加新元素后,该数组也已经改变了。此时arr[2]不再是undefined(未定义值),而是"JavaScript";arr[3]也不再是undefined,而是"jQuery"。当然我们也可以验证一下,请看下面例子:

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var arr = ["HTML", "CSS"]; document.write("添加前:<br/>arr[2]:" + arr[2] + "<br/>arr[3]:" + arr[3] + "<br/>"); arr.push("JavaScript", "jQuery"); document.write("添加后:<br/>arr[2]:" + arr[2] + "<br/>arr[3]:" + arr[3]); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

有人会问,像上面这个例子,我们也可以使用arr[2]="JavaScript"以及arr[3]="jQuery"来在数组结尾来添加新的元素,这是不是意味着push()没太多存在的意义呢?其实不是这样的。当我们不知道数组有多少个元素的时候,我们就没法用下标这种方式来给数组添加新元素。此时,push()方法就相当有用了,因为它不需要知道你有多少个元素,它的目的就是在你数组的最后面添加新元素。

push()方法在实际开发,特别是面向对象开发的时候用得非常多,可以说是数组中最常用的一个方法,大家要重点掌握。