JavaScrip数组删除特定元素的几种方法总结

发布时间 - 2026-01-11 03:08:02    点击率:

前言

可能一说到删除数组特定元素你估计不止一种方法可以实现,那么下面且来看看我总结的这几种方法,可能会对你有所帮助!话不多说了,来一起看看详细的介绍吧。

源数组

var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"];

伪删除

什么是伪删除呢? 就是说将数组元素值设置为null;

arr[ arr.indexOf( 'Thomas' ) ] = null;

删除后的数组是这个样子的:

["George", "John", null, "James", "Adrew", "Martin"]

不过要注意, 这意味着数组Array也就是变量arr的长度保持不变

完全删除

是什么是完全删除呢? 这个问题你可能从字面上也能想得到就是真正的删除数组Array的元素值, 并且会改变数组的长度, 可以通过内置数组对象Array的splice方法来实现这个需求!说到splice这个方法就要说一说它的具体参数了:

Array.prototype.splice = function(start,deleteCount,items) {};

上面是内置对象Array的splice方法原型定义, 中文意思呢是:剪接, 其参数的意义是:

  • start: 起点索引值
  • deleteCount: 要删除的元素个数
  • items: 删除后替换/追加的元素
    参数不加时就表示删除元素, 并且还要结合 deleteCount 的参数值
    如果 deleteCount 为 1, items 参数位置给一个参数值, 则表示替换
    如果 deleteCount 为 1, items 参数位置给多于一个的参数值, 则表示替换及追加元素

通过splice方法删除上面 伪删除 留下的元素值 null

arr.splice( arr.indexOf( null ), 1 );

删除后的数组是这个样子的:

["George", "John", "James", "Adrew", "Martin"]

既然说到了splice方法就顺便再说一下它的其它功能, 如 替换元素, 追加元素 等操作吧!

splice函数 - 替换元素

现在数组结构是这样的:

["George", "John", "James", "Adrew", "Martin"]

想要将数组元素 James 替换为 Tom

arr.splice( arr.indexOf( 'James' ), 1, 'Tom' );

替换后的数组结构是这个样子的:

["George", "John", "Tom", "Adrew", "Martin"]

splice函数 - 替换并追加元素

现在当前数组结构是这样的:

["George", "John", "Tom", "Adrew", "Martin"]

想要将数组元素 Tom 替换为 Judy 并追加 Linda 和 Alisa

arr.splice( arr.indexOf( 'Tom' ), 1, 'Judy', 'Linda', 'Alisa' );

替换及追加后的数组结构是这个样子的:

["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

splice函数 - 追加元素

追加元素你可以选择任意位置这取决于你的具体需求, 关键是在于 start 的取值索引位置而已!当前数组结构如下所示:

["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

比如说要在 Linda 和 Alisa 之间追加 Bill 和 Blake

arr.splice( arr.indexOf( 'Linda' ) + 1, 0, 'Bill', 'Blake' );

追加后的数组结构是下面这个样子的:

["George", "John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]
  • 起点位置 arr.indexOf( 'Linda' ) + 1 就是在数组元素 Linda 之后了
  • 删除元素个数参数这里设置的是 0 这个是追加元素的关键, 也就是说不删除元素
  • 'Bill', 'Blake' 这个呢就是内置对象Array的splice方法的最后一个参数 items 它表示0个是和多个, 根据 deleteCount 参数值不同表示的含义也会不同, 这里 deleteCount 参数是 0 并且 items 又有两个值来表示这个参数, 所示说就是追加元素值 'Bill', 'Blake'

以上说的是删除数组中特定的元素, 那删除第一个元素和最后一个元素那实现在是太简单了, 这里简单提一下就是了

删除数组中第一个元素

arr.shift();

删除后的数组是这个样子的:

["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]

删除数组中最后一个元素

arr.pop();

删除后的数组是这个样子的:

["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew"]

总结

以上就是JavaScrip数组删除特定元素个人所总结的一些方法,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果您还要其它的一些好的方法, 或有疑问大家可以留言交流,谢谢大家对的支持。


# js数组删除特定元素  # js数组删除元素  # js删除数组指定元素  # Java数组去重复的18种方法示例  # Java数组的去重  # JavaScrip数组去重操作实例小结  # Java实现的数组去重与排序操作详解  # java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】  # java中删除 数组中的指定元素方法  # Java对int[]数组做新增删除去重操作代码  # 的是  # 第一个  # 是这样  # 组中  # 说到  # 所示  # 如果您  # 也会  # 你可以  # 多个  # 说了  # 也能  # 不多  # 又有  # 这个问题  # 要在  # 你有  # 可以通过  # 要注意  # 看我 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Collections进行数据处理?(实用方法示例)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  智能起名网站制作软件有哪些,制作logo的软件?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何快速搭建高效可靠的建站解决方案?  如何快速上传自定义模板至建站之星?  开心动漫网站制作软件下载,十分开心动画为何停播?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  原生JS实现图片轮播切换效果  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  魔方云NAT建站如何实现端口转发?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何快速使用云服务器搭建个人网站?  如何在IIS中新建站点并配置端口与IP地址?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Python结构化数据采集_字段抽取解析【教程】  如何快速搭建高效服务器建站系统?  如何在IIS管理器中快速创建并配置网站?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  JavaScript如何实现错误处理_try...catch如何捕获异常?  在线制作视频的网站有哪些,电脑如何制作视频短片?  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  浅谈redis在项目中的应用  如何在橙子建站中快速调整背景颜色?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  大连 网站制作,大连天途有线官网?  高端网站建设与定制开发一站式解决方案 中企动力  如何用wdcp快速搭建高效网站?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在万网ECS上快速搭建专属网站?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何在Windows环境下新建FTP站点并设置权限?  中国移动官方网站首页入口 中国移动官网网页登录  Linux后台任务运行方法_nohup与&使用技巧【技巧】  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何在腾讯云服务器上快速搭建个人网站?  如何用VPS主机快速搭建个人网站?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】