js对象数组根据对象属性删除对象
根据id查找到对象数组里面的对象,然后移除该对象
array 是定义的数组
var ary = [{id:1,name:"b"},{id:2,name:"b"}]; for (var i = 0;i < ary.length; i++){ if (ary[i].id==2){ ary.splice(i,1); } } console.log(ary);
js根据数组对象属性删除里面的指定对象
1、原数组
let list = [ {type:"aaaaaa", name:'张三'}, {type:"bbbbbb", name:'李四'}, {type:"cccccc", name:'王五'} ];
2、错误方法(网上大部分都是这种错误的代码)
function removeByValue(arr, attr, value) { let index = 0; for (let i in arr) { if (arr[i][attr] === value) { index = i; break; } } arr.splice(index, 1); } removeByValue(list,"type","aaaaaa"); console.log(list);
上面网上大部分的代码,但是这个是有问题的,有很大的问题,我们的需求是,在已有的数组中,根据指定对象的属性值,删除这个指定对象,问题来了,每一次操作,都删除了一个下标的对象,不管它是否存在,都会把一个下标的对象删除。
3、正确的写法:
function removeByValue(arr, attr, value) { let index = 0; let flag = false; for (let i in arr) { if (arr[i][attr] === value) { index = i; flag = true break; } else { flag = false } } if (flag) { arr.splice(index, 1); } }
到此这篇关于js对象数组根据对象属性删除对象的文章就介绍到这了,更多相关对象属性删除对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
这篇文章主要介绍了微信小程序实现点击按钮修改view标签背景颜色功能,涉及微信小程序事件响应及数值运算实现动态设置view背景色样式的相关操作技巧,需要的朋友可以参考下2017-12-12JavaScript学习笔记(三):JavaScript也有入口Main函数
大家都知道在c和java中,有main函数货main方法作为一个程序的入口函数或方法。在JS中从js源文件的头部开始运行的,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟其他语言统一了,而且说不定你会对JS有更深的理解。感兴趣的小伙跟着小编一起学习吧2015-09-09详解JS中定时器setInterval和setTImeout的this指向问题
在js中setTimeout和setInterval都是用来定时的一个功能,下面这篇文章主要给介绍了JS中setInterval和setTImeout的this指向问题,文中通过示例介绍的很详细,有需要的朋友可以参考借鉴,一起来看看吧。2017-01-01javascript通过获取html标签属性class实现多选项卡的方法
这篇文章主要介绍了javascript通过获取html标签属性class实现多选项卡的方法,涉及javascript针对页面元素属性与事件的相关操作技巧,需要的朋友可以参考下2015-07-07
最新评论