js对象数组根据对象属性删除对象

 更新时间:2023年07月03日 23:48:48   作者:longzhoufeng  
这篇文章主要介绍了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标签背景颜色功能示例【附demo源码下载】

    这篇文章主要介绍了微信小程序实现点击按钮修改view标签背景颜色功能,涉及微信小程序事件响应及数值运算实现动态设置view背景色样式的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • js获得参数的getParameter使用示例

    js获得参数的getParameter使用示例

    这篇文章主要介绍了js获得参数的getParameter使用示例,需要的朋友可以参考下
    2014-02-02
  • JavaScript学习笔记(三):JavaScript也有入口Main函数

    JavaScript学习笔记(三):JavaScript也有入口Main函数

    大家都知道在c和java中,有main函数货main方法作为一个程序的入口函数或方法。在JS中从js源文件的头部开始运行的,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟其他语言统一了,而且说不定你会对JS有更深的理解。感兴趣的小伙跟着小编一起学习吧
    2015-09-09
  • PHP PDO操作总结

    PHP PDO操作总结

    这篇文章主要介绍了PHP PDO操作总结,本文讲解了使用PDO连接数据库、执行基本查询、获取行数、遍历结果集、转义用户输入的特殊字符、exec()、预处理语句等内容,需要的朋友可以参考下
    2014-11-11
  • 详解JS中定时器setInterval和setTImeout的this指向问题

    详解JS中定时器setInterval和setTImeout的this指向问题

    在js中setTimeout和setInterval都是用来定时的一个功能,下面这篇文章主要给介绍了JS中setInterval和setTImeout的this指向问题,文中通过示例介绍的很详细,有需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • JavaScript this绑定与this指向问题的解析

    JavaScript this绑定与this指向问题的解析

    本文主要介绍了JavaScript this绑定与this指向问题的解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • javascript中call和apply方法浅谈

    javascript中call和apply方法浅谈

    我们可以将call和apply看做是某个对象的方法,通过调用方法的形式来间接调用函数
    2013-09-09
  • js实现动态改变字体大小代码

    js实现动态改变字体大小代码

    本文为大家介绍下使用js如何实现动态改变字体大小,感兴趣的额朋友不要错过
    2014-01-01
  • ES6新增数据结构WeakSet的用法详解

    ES6新增数据结构WeakSet的用法详解

    WeakSet和Set类似,同样是元素不重复的集合,它们的区别是WeakSet内的元素必须是对象,不能是其它类型。接下来通过本文给大家详细介绍ES6新增数据结构WeakSet的用法,感兴趣的朋友一起看看吧
    2017-08-08
  • javascript通过获取html标签属性class实现多选项卡的方法

    javascript通过获取html标签属性class实现多选项卡的方法

    这篇文章主要介绍了javascript通过获取html标签属性class实现多选项卡的方法,涉及javascript针对页面元素属性与事件的相关操作技巧,需要的朋友可以参考下
    2015-07-07

最新评论