JS快速删除数组中的指定元素

有这么一个数组:

const arr = [
  { id: 1, value: 2 },
  { id: 2, value: 3 },
  ...
];

想删除数组里 id=8 的元素,如何方便快捷的实现。

findIndex 

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1

arr.splice(arr.findIndex(item => item.id === 8), 1)

这个有问题,假如返回 -1 则直接把数组的最后一项给删除了,所以需要判断存在(不为 -1 )才执行。

filter

filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

arr = arr.filter(({ id }) => id !== 8);

封装一个遍历的方法

arr.forEach((val, i) => {
  if (val.id === 8) {
    arr.splice(i, 1)
  }
})


未经允许不得转载:Web前端开发资源网 » JS快速删除数组中的指定元素

推荐阅读:

Ueditor后端配置项没有正常加载,上传插件不能正常使用!的解决过程。

Discuz X3.4 MySQL数据库连接问题的解决方法

CSS 选择器 nth-child 的几种用法

给元素添加伪类 :before 不显示的解决方法

点击a页面链接跳转b页面某个tab切换的实现

赞 (0)
分享到: +

评论 沙发

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)