JavaScript 数组怎么删除元素
在日常做网页的时候,我们经常会用到一种叫“数组”的东西——说白了就是把一堆相关的信息按顺序装在一个“小篮子”里,比如存用户的所有昵称、商品的全部价格。但有时候这个“小篮子”里的东西多了,需要删掉几个没用的,这就是咱们今天要聊的:JavaScript里怎么给数组“清掉多余元素”。
很多新手刚接触的时候,容易把“删元素”想复杂,其实常用的操作就3种,对应不同的场景,咱们用生活里的例子一个个说清楚。

删“最后一个”:用pop(),像从书包里拿最上面的书
假设你书包里放了三本笔记,顺序是「语文笔记→数学笔记→英语笔记」,数组存起来就是['语文笔记', '数学笔记', '英语笔记']。如果想拿出来最上面的英语笔记,不用把所有书倒出来,直接抽最后一本就行——对应到数组里,就是用pop()方法。
它的用法特别简单:先准备好数组,写数组名.pop()就够了,而且这个方法会直接改原来的数组,还会把删掉的元素“递”给你(比如你要存起来的话,可以写const deleted = 数组名.pop())。还是刚才的例子,写完note.pop()之后,数组就变成了['语文笔记', '数学笔记'],最后一个英语笔记就删掉了。
删“第一个”:用shift(),像拿书包最底下的书
如果这次你要拿最底下的语文笔记,就得把上面两本拿开,再抽最下面的——对应数组的话,就是用shift()方法。它和pop()是一对儿,一个管最后一个,一个管第一个,用法也差不多,直接写数组名.shift()就行。
还是刚才的笔记数组,用note.shift()之后,剩下的数组就变成了['数学笔记', '英语笔记'],最开头的语文笔记就删掉了。注意这个方法也是直接改原数组,和pop()的区别只是操作的是数组的“头”还是“尾”。
删“中间任意一个”:用splice(),像从书架抽某一层的书
如果要删的不是头也不是尾,而是中间的某一个,比如要删掉中间的数学笔记,这时候就需要用splice()方法,它相当于给数组“剪一刀”,把中间不需要的部分去掉。
splice()有两个核心参数:第一个是要删的元素的位置(数组的位置从0开始数,刚才的笔记数组里,语文是0、数学是1、英语是2,所以数学在位置1);第二个是要删几个元素——如果只删一个,就写1。所以要删数学笔记,就写note.splice(1, 1)。
操作完之后,数组就变成了['语文笔记', '英语笔记'],中间的数学笔记就没了。如果想删多个,比如从位置1开始删2个,就把第二个参数改成2就行,比如note.splice(1, 2),就会删掉数学和英语,只剩语文。
除了这三种常用的,还有一种情况:如果要删的元素不知道位置,只知道内容,比如数组里有重复的“草稿纸”,要把所有“草稿纸”都删掉,这时候可以用循环遍历数组,遇到目标内容就用刚才的方法删掉——不过新手先把这三种基础方法用熟,足够应付大部分日常需求了。
最后提醒大家一句:这三个方法里,除了有没有返回值的小区别,最关键的是要选对场景:删最后一个用pop,删第一个用shift,删中间任意一个用splice,别搞混了。