首页 > 其他分享 >bug感悟

bug感悟

时间:2023-08-11 17:36:32浏览次数:43  
标签:感悟 arr 代码 tableData some bug 数组 removeData

第一段代码

let arr = this.removeData;
arr.map((v) => {
  this.stationtableData.push(v);
});
this.tableData = this.tableData.filter(
  (v) => !arr.some((ele) => ele.buildId === v.buildId)
);

第二段代码

this.removeData.forEach((v) => {
  this.stationtableData.push(v);
});
this.tableData = this.tableData.filter(
  (v) => !this.removeData.some((ele) => ele.buildId === v.buildId)
);

两个代码有什么不同?

这两段代码的主要区别在于在 forEach 方法和 map 方法之间。

map 方法会对 this.removeData 数组中的每个元素执行给定的回调函数,并返回一个新数组,新数组是根据回调函数的返回值生成的。因此,对 this.removeData 数组的修改不会影响原数组。
在第一段代码中,使用 map 方法返回了一个新数组 arr 并对其进行操作,不会改变原始的 this.removeData 数组。然后,使用 arr.some 方法对 this.tableData 数组中的元素进行条件判断。

而第二段代码中,直接使用 this.removeData 数组调用了 forEach 方法,并对 this.stationtableData 数组进行操作,直接改变了原始的 this.removeData 数组。然后,使用 this.removeData.some 方法对 this.tableData 数组中的元素进行条件判断。

因此,这两段代码对 this.removeData 数组的修改及对 this.tableData 数组的条件判断是不同的。如果你希望保留对 this.removeData 原数组的操作和对 this.tableData 的条件判断,则应该选择第一段代码;如果你想在循环过程中直接修改原数组,并对 this.tableData 执行条件判断,则应该选择第二段代码。```

标签:感悟,arr,代码,tableData,some,bug,数组,removeData
From: https://www.cnblogs.com/hxy--Tina/p/17623541.html

相关文章

  • 有关成员函数const修饰,对传入的成员属性影响以及返回指针引用的bug问题
    boolcontains(_T&data,bn_ptrt)const 此时传入的成员参数是带有const属性的,但是data是不带const的,通过影响成员参数访问权限,而达到不能修改的目的;BinarySearchTree<_T>&BinarySearchTree<_T>::operator=(constbst_refbst){ if(this!=&bst) { makeEmpty(); ......
  • spark社区bug
    1.SPARK-26114repartitionAndSortWithinPartitions后合并时PartitionedPairBuffer的内存泄漏   原因这个Spark源码的issue描述了在使用coalesce操作合并分区时可能会导致PartitionedPairBuffer内存泄漏的问题。具体来说,当在使用repartitionAndSortWithinPartitions操作进......
  • Debug Assertion Failed! Program: C:\Windows\SYSTEM32\mfc140ud.dll
    新建C++ MFC项目多文本对话框的模板,运行出错。解决办法:这是由于DockControlBar(&m_wndToolBar);引起的异常。在头文件MainFrm.h中重新定义  CMFCToolBar m_wndToolBar; 类型DockControlBar(&m_wndToolBar)改为DockPane(&m_wndToolBar);再次运行就不会出错了。......
  • ef core的FirstOrDefault()方法取的是第二个元素bug,原因未明
    如图所示:location=locationList.OrderBy(x=>x.Piler).FirstOrDefault();//取到了第二条记录location=locationList.OrderBy(x=>x.Piler).ToList().FirstOrDefault();//取到了第一条记录延迟加载导致的?不应该,我使用sql语句到数据库查询,没问题,这个问题触发的条件没搞明......
  • Qt CUDA混合编程BUG(一)
    在QT中进行CUDA编程,CUDA库与其他外部库冲突,debug失败问题描述在QT中进行CUDA编程,单独使用CUDA编程时并未出现难以解决的问题,但当我讲CUDA处理的部分,加入已搭建完毕一项较大的QT项目工程时,CUDA的lib库与项目使用到的其他外部lib库文件出现冲突,导致debug失败。可能出现多种错......
  • 跳过前端网页无限debugger
    跳过网站循环debugger在debugger处打断点后点击浏览器禁用断点后刷新页面在debugger前行号处右键,选择一律不在此处暂停添加Addconditionalbreakpoint填写false替换文件参考文章......
  • 记录一次解决数据库连接池连接泄露BUG
    1BUG现象系统并发请求,系统停滞无法使用,所有接口都是无法与后端进行交互的状态,系统并没有宕机2BUG的业务流程插入分数方法涉及插入表ABCD加了声明式事务查询分数方法涉及表ABCDcontroller(){ @Transactional insertVo(); selectById();}3排查原因因为代码不是......
  • Apache DolphinScheduler 3.1.8 版本发布,修复 SeaTunnel 相关 Bug
    近日,ApacheDolphinScheduler发布了3.1.8版本。此版本主要基于3.1.7版本进行了bug修复,共计修复16个bug,1个doc,2个chore。其中修复了以下几个较为重要的问题:修复在构建SeaTunnel任务节点的参数时错误的判断条件修复SeaTunnel任务运行模式默认为运行,无......
  • 真不是吹,这款能减少 BUG 的 IDEA 插件你可能没用过!
     前言 单元测试是一个伟大的发明,同时也是一个操蛋的发明。只要团队碰它,几乎很难全身而退。如果是我们自己写的代码,那么,写写单元测试也无伤大雅。但我们绝大多数人,都是跟在别人后面打扫狗屎,或者是留给别人一堆狗屎。这时候,单元测试写起来,就有一种不情不愿的味道。没错,就是不......
  • 同事写了个惊天 bug,还不容易被发现。。
    作者:树洞君链接:https://juejin.cn/post/7064376361334358046事故描述从6点32分开始少量用户访问app时会出现首页访问异常,到7点20分首页服务大规模不可用,7点36分问题解决。整体经过6:58发现报警,同时发现群里反馈首页出现网络繁忙,考虑到前几日晚上门店列表服务上线发布过,所以......