js 删除 数组中某个元素(转载)
来源:https://www.jb51.net/article/134312.htm
js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.htm
首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:
|
1
2
3
4
5
6
|
Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; |
然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:
代码为:
|
1
2
3
4
5
6
|
Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } }; |
这样就构造了这样一个函数,比如我有有一个数组:
|
1
|
var emp = ['abs','dsf','sdf','fd'] |
假如我们要删除其中的 'fd' ,就可以使用:
|
1
|
emp.remove('fd'); |
删除的数组的某一项
splice(index,len,[item]) 注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
如:arr = ['a','b','c','d']
删除
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//删除起始下标为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
2
3
4
5
6
7
8
9
10
11
|
//替换起始下标为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为添加的值
|
1
2
3
4
|
var arr = ['a','b','c','d']; arr.splice(1,0,'ttt'); console.log(arr); //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'<span style="font-size:14px;font-family:Arial, Helvetica, sans-serif;background-color:rgb(255,255,255);"> </span> |
delete方法删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
|
1
2
3
4
|
var arr = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined |
感谢一下脚本之家。
js 删除 数组中某个元素(转载)的更多相关文章
- js删除数组中的元素delete和splice的区别
例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ...
- JS 删除数组中某个元素
//删除红色的元素 splice(下标,长度) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c', ...
- js删除数组中元素的方法
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- js删除数组中元素 delete 和splice的区别
例如我有一个数组: var array = ["aa","dd","cc","aa"] ,我想删除这个数组的“dd”元素 ...
- 记录:js删除数组中某一项或几项的几种方法
1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 inde ...
- 记录:js删除数组中某一项或几项的几种方法(转)
1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 inde ...
- js删除数组中某一项或几项的几种方法
1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 inde ...
- JS删除数组中某一项或几项的方法汇总
1.JS中的splice方法 splice(index, len, [item]) //注意:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值. ...
- js删除数组的某个元素
最近在刷算法题,我是用js语言去写的,其中一题需要删除数组的某个元素,查了一下资料,总结一下 使用splice()方法 array.splice(start[, deleteCount[, item1 ...
随机推荐
- oracle远程连接服务器
一.需要下载的工具 1.PLSQL Developer 下载及安装地址如下: http://www.zdfans.com/html/18196.html 2.下载instantclient-basic ...
- 【winform】主窗体多线程给子窗体传值
1.主窗体多线程给子窗体传值 解决方案:主要使用委托,因为会出现跨线程错误 主窗体 public FormMain() { InitializeComponent(); //background th ...
- Android adb临时关闭Selinux
在eng/userdebug版本中 使用getenforce 命令查询当前权限状态,如:adb shell getenforce 使用setenforce 命令进行设置:adb shell seten ...
- DuplicateHandle进程间句柄复制
转载:https://blog.csdn.net/u012372584/article/details/78740365 1. BOOL DuplicateHandle( HANDLE hSo ...
- 转 perl DBI 总结
https://www.cnblogs.com/homezzm/archive/2011/07/22/2113618.html ##查看已经安装的包 #!/usr/bin/perluse strict ...
- [LeetCode] 555. Split Concatenated Strings 分割串联字符串
Given a list of strings, you could concatenate these strings together into a loop, where for each st ...
- 切换普通用户报 -bash: fork: retry: No child processes
ssh 连接普通用户 报这个错误 -bash: fork: retry: No child processes 解决办法: 更改vi /etc/security/limits.d/20-nproc.c ...
- php_MVC实现步骤二
2.match_split 显示逻辑相分离 将功能强制分成两个部分,显示html文件,和逻辑PHP文件: 要求浏览器请求负责功能的PHP逻辑文件: 该PHP逻辑文件,对需要的显示内容进行载入. 逻辑P ...
- linux中的文件权限chmod
linux中的文件权限chmod 还是GPU集群那点事儿,集群之间磁盘互相挂载,普通用户也可以操作/cu02_nfs./cu04_nfs文件夹,这就牵扯到权限的问题,去google发现所谓的777 ...
- TCP/IP学习笔记3--传输方式的分类
网络通信中有多中分类方法: )分组较短.出错几率降低,每次重发的数据量也降低,不仅提高了可靠性,也降低了时延.缺点:(1)因为数据进入交换节点后要经历存储转发这一过程,从而引起的转发时延(包含接受分组 ...