JS删除数组里的某个元素方法


Posted in Javascript onFebruary 03, 2018

删除数组指定的某个元素

js删除数组中某一项或几项的几种方法 https://3water.com/article/154737.htm

首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

Array.prototype.indexOf = function(val) { 
for (var i = 0; i < this.length; i++) { 
if (this[i] == val) return i; 
} 
return -1; 
};

然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:

代码为:

Array.prototype.remove = function(val) { 
var index = this.indexOf(val); 
if (index > -1) { 
this.splice(index, 1); 
} 
};

这样就构造了这样一个函数,比如我有有一个数组:

var emp = ['abs','dsf','sdf','fd']

假如我们要删除其中的 'fd' ,就可以使用:

emp.remove('fd');

删除的数组的某一项

splice(index,len,[item]) 注释:该方法会改变原始数组。

splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值

index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空

如:arr = ['a','b','c','d']

删除

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) 
var arr = ['a','b','c','d']; 
arr.splice(1,1); 
console.log(arr); 
//['a','c','d']; 
 
 
//删除起始下标为1,长度为2的一个值(len设置2) 
var arr2 = ['a','b','c','d'] 
arr2.splice(1,2); 
console.log(arr2); 
//['a','d']

替换

//替换起始下标为1,长度为1的一个值为‘ttt',len设置的1 
var arr = ['a','b','c','d']; 
arr.splice(1,1,'ttt'); 
console.log(arr); 
//['a','ttt','c','d'] 
 
 
var arr2 = ['a','b','c','d']; 
arr2.splice(1,2,'ttt'); 
console.log(arr2); 
//['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt',len设置的1

添加 ---- len设置为0,item为添加的值

var arr = ['a','b','c','d']; 
arr.splice(1,0,'ttt'); 
console.log(arr); 
//['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'

delete方法删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变

var arr = ['a','b','c','d']; 
delete arr[1]; 
arr; 
//["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined

以上这篇JS删除数组里的某个元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
豆瓣网的jquery代码实例
Jun 15 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
Aug 31 Javascript
Vue.js划分组件的方法
Oct 29 Javascript
微信小程序实现简单input正则表达式验证功能示例
Nov 30 Javascript
VSCode中如何利用d.ts文件进行js智能提示
Apr 13 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
Oct 16 Javascript
JavaScript中的一些实用小技巧总结
Apr 07 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
JavaScript实现随机点名器
Mar 25 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 #jQuery
JS实现百度搜索接口及链接功能实例代码
Feb 02 #Javascript
原生JS实现的双色球功能示例
Feb 02 #Javascript
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 #jQuery
微信小程序实现列表下拉刷新上拉加载
Jul 29 #Javascript
微信小程序数字滚动插件使用详解
Feb 02 #Javascript
JS中的BOM应用
Feb 02 #Javascript
You might like
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
Python中的面向对象编程详解(上)
2015/04/13 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
django中瀑布流写法实例代码
2019/10/14 Python
浅析matlab中imadjust函数
2020/02/27 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
追悼会子女答谢词
2014/01/28 职场文书
商铺门前三包责任书
2014/07/25 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
利用Python实现Picgo图床工具
2021/11/23 Python
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL
MSSQL基本语法操作
2022/04/11 SQL Server