JavaScript数组删除:splice与delete方法详解

作者:半夏

时间:2026-10-26

浏览:176

本文介绍JavaScript中删除数组元素的两种常用方法:splice和delete。splice会改变原数组长度并修改索引,适用于需要紧凑数组的场景;delete仅将指定元素置为undefined,保持数组长度不变,遍历时可跳过空位。通过代码示例对比两者在长度变化和索引保留上的差异,帮助开发者根据实际需求选择合适方案。

文章目录

JavaScript数组删除问题

在实际开发中,我们经常需要操作数组的删除功能。这里分别记录splice和delete两种方法的使用情况,以便日后查阅参考。

假设原数组是一个关联数组,例如:

var test=[];
test[1]={name:'1',age:1};
test[2]={name:'2',age:2};
test[4]={name:'3',age:3};

console.log(test)

JavaScript数组删除问题

这是一个长度为5的关联数组,接下来演示如何对其进行删除操作。

1. splice方法

test.splice(2,1);
console.log(test)// 打印结果如下

JavaScript数组删除问题

注意:使用splice后,数组长度会相应改变,且原有元素的索引也会随之调整。splice方法的第一个参数表示删除的起始索引(从0开始计数),例如这里的2代表数组的第三个元素。第二个参数表示要删除的元素个数,此处仅删除一个元素,即test[2]。

删除操作完成后,可以使用普通的数组遍历方式(如for循环)来遍历数组,因为splice删除的元素在数组中不再保留,索引是连续的。

2. delete方法

delete test[2];
console.log(test);// 打印结果如下

JavaScript数组删除问题

ps:这种方式数组长度不变,此时test[2]变为undefined了,好处是原来数组的索引也保持不变,此时要遍历数组元素可以才用。这种遍历方式跳过其中undefined的元素,所以非常实用。

for(i in test)
{
 console.log(test[i])
}
//打印结果如下:

JavaScript数组删除问题

JavaScript数组删除方式:delete与splice的区别

JavaScript中删除数组元素主要有两种方式:

JavaScript数组删除问题

1. delete操作(删除后数组长度不发生变化。如图所示:删除一条数据后长度仍为2)

var array = ["/profile/upload/2022/07/25/OIP-C_20220725151518A011.jpg"  ,   "/profile/upload/2022/07/25/OIP-C_20220725151518A003.jpg"]
delete array[0]

JavaScript数组删除问题

2. splice方法(删除后数组长度发生变化。如图所示:删除一条数据后长度变为1)

var array = ["/profile/upload/2022/07/25/OIP-C_20220725151518A011.jpg"  ,  "/profile/upload/2022/07/25/OIP-C_20220725151518A003.jpg"]

splice(0,1);括号中的第一个数字'0'表示起始位置,第二个数字'1'表示需要删除的长度。

JavaScript数组删除问题

总结

以上为个人经验总结,希望能给大家提供一个参考,也希望大家多多支持本站。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章