使用angular-foreach的正确姿势

最近在项目终于到一个问题,比如我现在要遍历一个数组,数组里面是多个对象,像这个样子

var arr = [{id:1,text:1},{id:2,text:2}],当然后面还有很多个这样的对象,我们现在要往里面添加对象,添加的规则是:

1.当数组中有id相同的对象,覆盖此对象;s

2.当数组中没有id相同的对象,在数组中插入对象;

使用angular的童鞋都会想到,使用angular-foreach遍历数组中的每一个对象。对比每一项的id,如果id相同则覆盖,id不同则添加,于是有了如下代码:

如果传入数据,我们可以看到,一个数据还好说,多个数据它会添加多次。。着是怎么回事。。哦!原来是我把return写在外层了!这样每次都会进行比对,这样当然不行啦!于是咱们有了升级版:

好了,现在可以信心满满的传入数据了,只要满足了条件,我就给你return了,这次数据该对了吧!当然现实还是打脸了,为什么我return不了!!这就是angular-foreach的一个坑啦!它必须比对完所有的数据之后才会退出,如果你里面写了两个判断条件,那么恭喜你,入坑了,两个条件不管如何都会进入一个,当然不会得到我们想要的结果啦!那我们应该怎么改造?经过一番改造,我们有了如下函数:

这样子就能取到我们想要的东西咯!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,029评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • Angular面试题 一、ng-show/ng-hide与ng-if的区别? 第一点区别是,ng-if在后面表达式...
    w_zhuan阅读 10,909评论 0 26
  • 第二天,5月2日,何帅和美丽都准时上班了,继续研究储存流量的软件,终于在这一天,有了重大的突破,找到了突破口,他们...
    w_w001阅读 1,886评论 1 1
  • Cyline阅读 1,459评论 0 0

友情链接更多精彩内容