「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」
Hope is a good thing, maybe the best of things. And no good thing ever dies—— 《The Shawshank Redemption》
前言
在JavaScript 中的数据结构中,数组(Array
)是一种非常常见的数据结构类型,在日常的前端开发过程中也是比较常用的数据类型,数组自身涉及到属性和方法还是比较多的,例如: length
、map()
、filter
、forEach()
、concat()
等等。
这两天在项目中大量的使用了数组相关的方法,进行了数组的很多操作,今天就来说说,在数组中如何删除某一个元素。我们可以根据所要删除的子元素位置不同,选择不同的方式。
删除首尾位置的子元素
删除数组首尾的元素的时候,我们可以直接使用数组的一些方法。
删除首部元素
shift()
JavaScript中的 Array 对象提供了一个 shift()
队列方法用于弹出并返回数组中的第一项。
队列数据结构的访问规则是FIFO
(First In First Out
,先进先出),队列在列表的末端添加项,从列表的前端移除项,使用shift()方法,它能够移除数组中的第一个项并返回该项,并且数组的长度减1
。
var a = [1, 2, 3, 4];
a.shift();
a.lenght; // 3
a // [2, 3, 4]
splice()
操作方法 splice() 作为数组本身的方法,它的功能还是比较强大的,它本身提供两个入参start
和end
,默认都是0
。今天使用它作为删除首位元素
var a = [1, 2, 3, 4];
var aa = a.slice(1);
aa; // [2, 3, 4]
删除尾部元素
pop()
栈方法 JavaScript中的Array对象提供了一个pop()
栈方法用于弹出并返回数组中的最后一项,某种程度上可以当做删除用。
使用pop()方法,它能移除数组中的最后一项并返回该项,并且数组的长度减1
。
var a = [1, 2, 3, 4];
a.pop();
a; // [1, 2, 3]
splice()
操作方法
var a = [1, 2, 3, 4];
var aa = a.slice(0, a.length-1);
aa; // [1, 2, 3]
length
属性
Array的 length
属性,可以通过设置这个属性来达到从数组的末尾移除项
var a = [1, 2, 3, 4];
a.length = 3;
a; // [1, 2, 3]
删除元素中任意位置的元素
我们可以使用forEach()
、filter()
迭代方法对数组的数据进行过滤。原理很简单,就是直接找到元素等于目标元素或者通过元素的index
filter()
直接删除目标元素
var a = [11, 22, 33, 44];
var aa = a.filter(ele => ele!==33);
aa; // [11, 22, 44]
使用目标元素的 index
var a = [11, 22, 33, 44];
var aa = a.filter((ele, key) => key!== 2);
aa; // [11, 22, 44]
结语
如果这篇文章帮到了你,欢迎点赞👍和关注⭐️。
文章如有错误之处,希望在评论区指正🙏🙏
欢迎关注我的微信公众号,一起交流技术,微信搜索 🔍 :「 五十年以后 」