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 相关文章推荐
img onload事件绑定各浏览器均可执行
Dec 19 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 Javascript
浅析javascript中function 的 length 属性
May 27 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
JavaScript实现图片轮播的方法
Jul 31 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
总结javascript三元运算符知识点
Sep 28 Javascript
JS集合set类的实现与使用方法示例
Feb 01 Javascript
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
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
python操作MongoDB基础知识
2013/11/01 Python
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
国际书籍零售商:Wordery
2017/11/01 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
最新会计专业求职信范文
2014/01/28 职场文书
班级德育工作实施方案
2014/02/21 职场文书
经典促销广告词大全
2014/03/19 职场文书
汽车专业求职信
2014/06/05 职场文书
学校开学标语
2014/10/06 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
公务员年度考核评语
2014/12/31 职场文书
护林员个人总结
2015/03/04 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers