当前位置: 首页 > news >正文

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

首先可以给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,www.haoshilao.net长度为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

http://www.rkmt.cn/news/176779.html

相关文章:

  • 技术人文与企业价值观如何融合
  • 论文AI率压不下去?这十大降AI工具真有用
  • CF1047虚拟赛总结 - Link
  • 102301215张蔡涵学期回顾
  • 学校开始严查AIGC,这十大救急降AI工具一次说清楚
  • DiskInfo下载官网数据后如何配置PyTorch-CUDA-v2.7环境
  • 客户拜访管理App终极指南:如何设置拜访频率预警,防止客户在沉默中流失? - 企业数字化观察家
  • 100110
  • PyTorch-CUDA-v2.7镜像中集成Ray Tune实现分布式调优
  • Jupyter Notebook集成PyTorch-CUDA-v2.7镜像使用指南
  • PyTorch-CUDA-v2.7镜像是否包含torchvision和torchaudio
  • PyTorch-CUDA-v2.7镜像中设置阶梯定价鼓励大额采购
  • PyTorch-CUDA-v2.7镜像中使用LangChain构建Agent系统的集成方案
  • 论文AI率高怎么办?十大降AI工具避坑指南
  • PyTorch-CUDA-v2.7镜像中运营微信公众号定期推送资讯
  • 孩子已经近视了,还有必要防控吗?
  • PyTorch-CUDA-v2.7镜像适合初学者入门深度学习吗
  • 全局变量nt!PpDeviceReferenceTable和驱动设备nt!_DEVICE_REFERENCE的关系
  • 102301242陈溢滨总结
  • 对偶空间
  • PyTorch-CUDA-v2.7镜像中制定服务等级协议SLA保障可用性
  • WSLRegisterDistribution failed?用PyTorch-CUDA-v2.7避免系统冲突
  • 基于SpringBoot + Vue的商城管理后台系统
  • PyTorch-CUDA-v2.7镜像中处理大规模文本数据的内存优化技巧
  • 华为OD机试真题 - 整型数组按照个位数排序 (C++ Python JAVA JS GO)
  • PyTorch-CUDA-v2.7镜像中实现Function Calling功能的结构设计
  • 基于SpringBoot + Vue的星光旅游系统
  • 基于SpringBoot + Vue的云游旅游社后台管理系统
  • 第二章:遇到阻难!绕过WAF过滤!
  • PyTorch-CUDA-v2.7镜像中生成API文档的Swagger集成方法