JS实现数组/对象数组删除其中某一项
作者:NAMECZ 发布时间:2024-04-29 13:36:37
标签:JS,数组,对象数组,某一项
数组/对象数组删除其中某一项
由于日常工作中经常需要对数组进行操作,最经常使用到的就是对数组进行的删除操作
对于我们前端来说,数组有两种区别
1、var arr = [ 'aaa' , 'bbb' , 'ccc' , ' ddd' , 'eee' ] 这种暂且称之为纯数组
2、var jsonArr = [ { name: 'cz' , age: '25'} , { name: 'mp' , age: '18'} , { name:'lyy' , age: '18' } ] 这种暂且称之为对象数组
首先,我们要删除数组中的某一项,我们一定要知道下边三种条件中的其中一种,才能达到精确删除的目的
1、知道要删除项在数组中的下标
2、知道要删除项的值
3、如果要删除项是一个对象,而且我们知道这个对象中的唯一属性值
//1、知道要删除项的下标值
//index为删除项的下标值 arr为源数组
var arrRemoveIndex = function(index,arr) {
if (!arr || arr.length == 0) {
return ""
}
arr.splice(index,1)
return arr
}
//2、知道要删除项的值
//it 为要删除项的值 arr为源数组
var arrRemove = function (it, arr) {
if (!arr || arr.length == 0) {
return ""
}
let flag = arr.indexOf(it)
if (flag > -1) {
arr.splice(flag, 1)
return arr
} else {
console.log("未查找到该元素")
}
}
//3、如果要删除项为对象,我们需要知道该对象属性中的唯一值(不会重复的值)
//arr是源数组,attr是目标数组中的属性名称,value是要删除的属性名称对应的值
var arrRemoveJson = function (arr, attr, value) {
if (!arr || arr.length == 0) {
return ""
}
let newArr = arr.filter(function (item, index) {
return item[attr] != value
})
return newArr
}
let arr = ['aaa','bbb','ccc','ddd']
let arrJson = [{ id: 1 , name: 'cz'},{ id: 2 , name: 'mp'},{ id: 3 , name: 'xp'}];
let newArr1 = arrRemoveIndex(1,arr); // ['aaa','ccc','ddd']
let newArr2 = arrRemove('bbb',arr); // ['aaa','ccc','ddd']
let newArr3 = arrRemoveJson(arr,'id','2') //[{id:1,name:'cz'},{id:3,name:'xp'}]
以上可以放到工具类,方便反复调用。
移除对象数组中指定元素
arr.splice(arr.findIndex(i => i.id === id), 1);
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。
来源:https://blog.csdn.net/NAMECZ/article/details/105090186
0
投稿
猜你喜欢
- 由于python内部的变量其实都是reference,而Tensorflow实现的时候也没有意义去判断输出是否是同一变量名,从而判定是否要新
- #环境win64+anaconda+python3.6list & array(1)list不具有array的全部属性(如维度、转置
- python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提
- 本来是想从网上找找有没有现成的爬取空气质量状况和天气情况的爬虫程序,结果找了一会儿感觉还是自己写一个吧。主要是爬取北京包括北京周边省会城市的
- 目录图像翻转图像轮廓排序图像轮廓排序颜色识别基础颜色识别根据BGR获取HSV阈值编辑器图像翻转使用Python的一个包,imutils。使用
- 背景最近在搭一个新项目的架子,在生产环境中,为了能实时的监控程序的运行状态,少不了逻辑执行时间长度的统计。时间统计这个功能实现的期望有下面几
- 数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向
- 本文实例讲述了js实现九宫格图片半透明渐显特效的方法。分享给大家供大家参考。具体实现方法如下:<html><title&g
- Python命名空间和作用域总结emmm,这一块讲了2个内容,一个是命名空间,一个是作用域。一个一个说吧命名空间A namespace is
- 开发的时候我都是使用XDebug在本地调试,但是最近加入一些项目中去,环境太复杂了,要在本地搭建一个开发环境真的太麻烦了,那么我们怎么使用x
- 目录1 matplot入门指南2 安装与导入3 图的构成3 总结1 matplot入门指南matplotlib是Python科学计算中使用最
- 本文实例讲述了python读写ini配置文件方法。分享给大家供大家参考。具体实现方法如下:import ConfigParserimport
- python下读取公私钥做加解密实例详解在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签)。下面是Python下的应用
- reflow是个神奇的东西,之前Realazy说到过这个reflow,我摘出其中的重点:在CSS规范中有一个渲染对象的概念,通常用一个盒子(
- 要找到最早的活动事务,可以使用DBCC OPENTRAN命令。详细用法见MSDN:http://msdn.microsoft.com/zh-
- 谷歌内部的 python 代码规范熟悉 python 一般都会努力遵循 pep8 规范,也会有一些公司制定内部的代码规范。大公司制定规范的目
- 在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);类似Javascr
- 前言最近使用PyTorch感觉妙不可言,有种当初使用Keras的快感,而且速度还不慢。各种设计直接简洁,方便研究,比tensorflow的臃
- 数据迁移需要从mysql导入clickhouse, 总结方案如下,包括clickhouse自身支持的三种方式,第三方工具两种。create
- 这代表将模型加载到指定设备上。其中,device=torch.device("cpu")代表的使用cpu,而device