JavaScript数组操作详解:unshift、shift、pop、push使用实例

作者:半夏时间:2026-10-28 13:43:38浏览:372

本文详细讲解JavaScript中数组的四种核心操作方法:unshift、shift、pop和push。通过具体代码示例,演示如何声明数组、在头部或尾部添加/删除元素,以及处理空数组时的返回值。所有操作均修改原数组,并提供了相关实现技巧。

JavaScript数组声明方式

如何声明数组

在JavaScript中,声明数组主要有以下几种方式。

代码如下:

var tmp = []; // 简写模式
var tmp = new Array(); // 直接new一个
var tmp = Array(); // 或者new也可以

在使用new关键字创建数组时,可以传入一个参数来指定数组的初始化长度。


代码如下:

// new的时候传入一个参数表示初始化数组长度
var tmp = new Array(3);
 
alert(tmp.length); // 3

需要注意的是,如果希望创建一个仅包含数字3作为元素的数组,直接使用new Array(3)无法实现,因为系统会将传入的参数3视为数组的长度。除非将参数用引号包裹成字符串,例如new Array('3'),否则无法直接创建含单个数字元素的数组。


代码如下:

var tmp = new Array('3');
alert(tmp); // 3

我们可以使用简写模式创建数组,这样就可以创建只有一个数字元素3的数组


代码如下:

var tmp = [3]
alert(typeof tmp[0]); // number

此外,还可以初始化包含多个元素的数组,且这些元素的值可以是任意数据类型。


代码如下:

// 简约模式创建数组
// 数组的元素可以是任意一种数据类型
var tmp = [3,true,8.5,{'name':'lizhong'},['a','b']];
alert(tmp.length); // 5

unshift方法:在数组头部插入元素

一、unshift 在数组第一个元素前插入元素

代码如下:

// 使用unshift在数组第一个元素前插入元素
// 返回数组长度
var tmp = ['a','b'];
var len = tmp.unshift('c');
alert(len); // 3
alert(tmp); // c,a,b

unshift方法还支持一次插入多个元素,新插入的元素会按照从左到右的顺序依次排列在数组头部。


代码如下:

// 使用unshift在数组第一个元素前插入元素
// 返回数组长度
var tmp = ['a','b'];
var len = tmp.unshift('c','d');
alert(len); // 4
alert(tmp); // c,d,a,b

shift方法:弹出数组第一个元素

二、shift弹出数组第一个元素,返回被弹出的元素值

小实例:

代码如下:

// 使用shift弹出数组第一个元素
// 返回被弹出的元素值
var tmp = ['a','b','c'];
var val = tmp.shift();
alert(val); // a
alert(tmp); // b,c

如果对一个空数组执行shift操作:


代码如下:

// 使用shift弹出数组第一个元素
// 返回被弹出的元素值
var tmp = [];
var val = tmp.shift();
alert(val); // undefined
alert(tmp); // 空

push方法:在数组尾部添加元素

三、push在数组末尾添加元素

与unshift相反,push方法用于在数组末尾添加元素,并返回添加元素后的数组最新长度。

代码如下:

// 使用push在数组末尾添加多个元素
// 返回数组最新长度
var tmp = ['a','b','c'];
var len = tmp.push('d');
alert(len); // 4
alert(tmp); // a,b,c,d

push方法同样支持一次添加多个元素。


代码如下:

// 使用push在数组末尾添加多个元素
// 返回数组最新长度
var tmp = ['a','b','c'];
var len = tmp.push('d','e','f');
alert(len); // 6
alert(tmp); // a,b,c,d,e,f

pop方法:删除数组末尾元素

四、pop函数删除数组末尾元素

与shift相反,pop方法用于弹出数组末尾的元素,并返回被弹出的元素值。

代码如下:

// 使用pop弹出数组末尾元素
// 返回被弹出的元素值
var tmp = ['a','b','c'];
var val = tmp.pop();
alert(val); // c
alert(tmp); // a,b

如果数组为空,执行pop操作将返回undefined。


代码如下:

// 使用pop弹出数组末尾元素
// 返回被弹出的元素值
var tmp = [];
var val = tmp.pop();
alert(val); // undefined
alert(tmp); // 空

 

利用以上四个函数,我们可以做一些队列处理,具体案例就不写代码了。


push功能其实也可以这么实现


代码如下:

var tmp = ['a','b','c'];
tmp[tmp.length] = 'd';
alert(tmp); // a,b,c,d

注意:以上四个函数unshift、shift、pop、push函数操作都会在数组本身上修改。

作者最新文章