JavaScript数组元素的增删改操作详解

作者:半夏

时间:2026-10-28

浏览:531

本文详细介绍JavaScript中数组成员的添加与删除方法。包括直接赋值、push、unshift添加元素,以及pop、shift、delete删除元素的区别。重点解析length属性对数组截取和扩展的影响,以及writable:false时的限制行为,帮助开发者掌握数组操作核心技巧。

文章目录

JavaScript数组元素的增删改操作详解

在JavaScript中,数组的长度并非固定不变,这意味着开发者可以直接通过索引定义新成员来向数组追加数据。

具体实现方式如下:

var o = [2,3,5];
o[3] = 7;
console.log(o);//[2,3,5,7]

除了直接索引赋值,还可以利用push()方法实现相同效果。


相关代码示例:

o.push(11);
console.log(o);//[2,3,5,7,11]
o.push(13,17);
console.log(o);//[2,3,5,7,11,13,17]

若需向数组起始位置插入新元素,应使用unshift()方法。


代码示例如下:

o.unshift(2014);
console.log(o);//[2014,2,3,5,7,11,13,17]
o.unshift(2013, 2012);
console.log(o);//[2013,2012,2014, 2,3,5,7,11,13,17]

与push()方法相对应,若要从数组末尾移除元素,可使用pop()。该方法会返回被移除的元素,并使数组长度减1。


示例代码如下:

var p = o.pop();
console.log(p);//17
console.log(o.length);//9

与unshift()对应,若要从数组头部移除元素,可使用shift()。该方法同样返回被移除的元素,并使数组长度减1。


代码示例:

var s = o.shift();
console.log(s);//2013
console.log(o.length);//8

除shift()和pop()外,还可使用delete操作符删除数组成员。与前者不同,delete操作后数组的length属性保持不变,导致数组出现空洞(不连续)。

JavaScript还允许通过修改数组的length属性来调整数组。当length值小于当前成员数时,数组会被截断;当length值大于成员数时,数组会变为不连续状态。若length属性被设为只读,直接定义新成员的操作将失效。


代码演示如下:

console.log(o);//[2012,2014, 2,3,5,7,11,13]
o.length = 2;
console.log(o);//[2012,2014]
o.length = 4;
console.log(o);//[2012,2014,undefined,undefined]
var a = [1,2,3];
Object.defineProperty(a, "length", {writable:false});
a[3] = 4;
console.log(a);//[1,2,3]

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章