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 = truebreak;} else {flag = false}}if (flag) {arr.splice(index, 1);}
}

js根据数组对象属性删除里面的指定对象相关推荐

  1. JavaScript - 根据对象数组中某一属性删除该项(根据数组对象属性删除里面的对象)

    前言 有时候,我们需要根据 某一属性与属性值 找到数组对象中对应的该项. 例如,现有如下结构数组对象: 解决方案 由于使用了 splice() 方法,顾会改变原始数组. 以下函数做了封装,只需要传入相 ...

  2. js中数组插入、删除元素操作

    /** 删除数组元素:Array.removeArr(index)*/Array.prototype.removeArr = function (index) {if (isNaN(index) || ...

  3. html 遍历对象属性,for/in 循环遍历对象的属性

    平时想要遍历一个对象时一般会采用for/in语句,通过for/in语句可以快速地拿到对象的key和value值 举个小栗子: var obj = {name:'wan',age:24}; for(va ...

  4. JavaScript 对象属性作实参以及实参对象的callee属性

    参考自<<JavaScript权威指南 第6版>> /* * 将对象属性用作实参, 从而不必记住参数的顺序. */ function arraycopy(from,from_s ...

  5. java对象属性的作用域类型_java 对象和类

    类:类为对象定义属性和行为. 对象的定义:对象是代表现实世界可以明确标识的一个实体. 每个对象都有自己独特的标识.状态和行为. 一个对象的状态是由具体当前值的数据域来表示的. 一个对象的行为是由方法定 ...

  6. cdr对象管理器怎么用_CorelDRAW中默认对象属性管理教程-cdr默认对象属性设置方法_好特教程...

    CorelDRAW 中的默认对象属性可控制活动文档中文本和图形对象的外观.例如,当您第一次安装 CorelDRAW 时,图形对象的默认属性将确定每个新图形对象都具有黑色轮廓并且没有填充. 您可以修改以 ...

  7. 微信小程序.setData 设置对象属性值,不改变对象整体属性

    .setData 设置对象属性值 步骤一:data初始化数据 userInfo: { nickName:'昵称', avatarUrl:'https://c-ssl.duitang.com/tx.pn ...

  8. 遍历java对象属性_[Java教程]遍历对象属性

    [Java教程]遍历对象属性 0 2016-09-12 13:00:03 初始化对象:var person = function(name){ this._name = name;}var grand ...

  9. js 加总数组中某一列_js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理...

    js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理 Example: 根据code合并数组,并将sl值累加,如下两种方法: let data = [{ code: 1001, name: ...

最新文章

  1. 牛逼哄洪的 Java 8 Stream,性能也牛逼么?
  2. Lazy loading
  3. sinee303a变频器说明书_SINEE--EM303A变频器用户手册.pdf
  4. 一个双语交流平台的想法
  5. 数据库系统原理(第三章数据库设计 )
  6. web策略类游戏开发(四)一个可以承载万人在线的架构
  7. linux input输入子系统分析《二》:s3c2440的ADC简单驱动实例分析
  8. iOS ipa包进行重新签名
  9. android word 转pdf插件下载,word转pdf转换器
  10. 解决 Intel Extreme Tuning Utility(XtuService)的日志占用过大(直接删Logs或卸载)
  11. 多多自走棋服务器不稳定,《多多自走棋》将登陆Epic平台 PC版数据将与移动版互通...
  12. oracle IMO史上最详细使用文档
  13. VC++ sourceforge.net中一些好的开源项目
  14. 在简历中使用STAR法则
  15. IPSec ×××实验
  16. systemd man手册
  17. 【DFS 水洼数目】
  18. Ninth season twentieth episode,Joey held a celebrities party but did not invited his friends!!!!!!
  19. (DP)codeforces - 710E Generate a String
  20. AGV调式之软件开发—API调用

热门文章

  1. 别怪程序员——都是项目经理的错
  2. android动态交换控件位置,Android DynamicGrid实现拖曳交换位置功能
  3. 人机大战,历史的见证
  4. 【IoT】基于NB-IoT的LWM2M协议浅析
  5. scite自动检测文件编码
  6. 去年年会小品——山寨实话实说
  7. 论文阅读:Push the Limit of Acoustic Gesture Recognition
  8. Flask源码分析(一)
  9. 欢迎前来日本王子酒店享用当地应季美食
  10. 黑马程序员——网络编程