删除数组中的某一个元素

507 阅读3分钟

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

Hope is a good thing, maybe the best of things. And no good thing ever dies—— 《The Shawshank Redemption》

前言

在JavaScript 中的数据结构中,数组(Array)是一种非常常见的数据结构类型,在日常的前端开发过程中也是比较常用的数据类型,数组自身涉及到属性和方法还是比较多的,例如: lengthmap()filterforEach()concat() 等等。

这两天在项目中大量的使用了数组相关的方法,进行了数组的很多操作,今天就来说说,在数组中如何删除某一个元素。我们可以根据所要删除的子元素位置不同,选择不同的方式。

删除首尾位置的子元素

删除数组首尾的元素的时候,我们可以直接使用数组的一些方法。

删除首部元素

  1. shift()

JavaScript中的 Array 对象提供了一个 shift()队列方法用于弹出并返回数组中的第一项。

队列数据结构的访问规则是FIFOFirst In First Out,先进先出),队列在列表的末端添加项,从列表的前端移除项,使用shift()方法,它能够移除数组中的第一个项并返回该项,并且数组的长度减1

var a = [1, 2, 3, 4];
a.shift();

a.lenght; // 3
a   // [2, 3, 4]
  1. splice()操作方法 splice() 作为数组本身的方法,它的功能还是比较强大的,它本身提供两个入参startend,默认都是0。今天使用它作为删除首位元素
var a = [1, 2, 3, 4];
var aa = a.slice(1);
aa; //  [2, 3, 4]

删除尾部元素

  1. pop()栈方法 JavaScript中的Array对象提供了一个pop()栈方法用于弹出并返回数组中的最后一项,某种程度上可以当做删除用。

使用pop()方法,它能移除数组中的最后一项并返回该项,并且数组的长度减1

var a = [1, 2, 3, 4];
a.pop();
a;  //  [1, 2, 3]
  1. splice()操作方法
var a = [1, 2, 3, 4];
var aa = a.slice(0, a.length-1);
aa;  // [1, 2, 3]
  1. length 属性

Array的 length属性,可以通过设置这个属性来达到从数组的末尾移除项

var a = [1, 2, 3, 4];
a.length = 3;
a; // [1, 2, 3]

删除元素中任意位置的元素

我们可以使用forEach()filter()迭代方法对数组的数据进行过滤。原理很简单,就是直接找到元素等于目标元素或者通过元素的index

  1. 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]

结语

如果这篇文章帮到了你,欢迎点赞👍和关注⭐️。

文章如有错误之处,希望在评论区指正🙏🙏

欢迎关注我的微信公众号,一起交流技术,微信搜索 🔍 :「 五十年以后