过滤后端返回的数组每条连续重复一遍问题
来源:互联网 发布:handlebars.js 编辑:程序博客网 时间:2024/05/23 20:38
刚碰到问题以及解决办法的思路:
后端返回的数组变成类似[{1,1},{1,1},{2,2},{2,2},{3,3},{3,3}.....]
每条数据后面都跟前面一条一模一样。
现在我们要过滤掉每重复的数据只留一条。结果:[{1,1},{2,2},{3,3}....]
$scope.filterRepeatArray = function(datas){ var data = []; //过滤重复数组 if(datas[0]){ data.push(datas[0]); } for (var i = 1; i < datas.length; i++) { var indexs = i-1; if(datas[i].attendanceDate != datas[indexs].attendanceDate){ data.push(datas[i]); } } return $scope.changeRefresh(data); }
datas参数是传进来有问题的数组。前提我们要先判断这个数据是否有值,然后才进这个方法。我们默认把第一个数组push到空的新数组中,然后再通过for遍历,定义初始遍历开始的下标是1。
然后再判断当前遍历的下标对象跟前一个下标数组对象比较里面的值是否相等,如果不相等说明是没重复的。然后继续push到新数组中。
在这里有个要注意的地方:相比较的两个数组一定是当前遍历的下标对象跟之前的下标对象(i-1)。不能跟后面一个(i+1)下标对象对比。因为后面一个我们不能确定是否还有数据,数组也不允许我们提前比较还没遍历到的下标对象。
这样做可能有些硬编码。主要记住一点:当前遍历的下标只能跟已遍历过的比较。这样就算不是连续重复的,这要把当前遍历的下标对象跟新数组for遍历的每个对象比较就可以解决了。
如果有更好的解决办法欢迎共享。
阅读全文
0 0
- 过滤后端返回的数组每条连续重复一遍问题
- P6spy日志问题 为什么每条sql打印两遍
- php把一维数组,分为每3个连续的为一组的多维数组
- 用hibernate 多表联合查询时每条记录返回的都是个对象数组
- 只遍历一遍 找出两个重复的数(将数组中各元素作为新数组的下标)
- 最大连续和一遍循环解决问题的写法
- sql map 索引插入的问题 防止多条重复操作返回id重复
- javascript过滤数组中重复的元素
- cocostudio中帧事件重复两遍的问题
- 数组过滤重复字符
- js过滤重复数组
- 过滤数组重复数据
- 后缀数组(重复次数最多的连续重复子串)
- 数组有100个元素,设为数组a[100],存放1-100的数值,但是现在有一个数值重复了,只扫描一遍数组,找出那个重复的数
- 当相同的字符串连续出现至少两行时,输出该字符串,只有输出一遍
- php将一维数组转换为每3个连续值组成的二维数组
- 求连续数组中唯一重复的元素
- 重复次数最多的连续字串 后缀数组板子 黑盒子
- BZOJ4170: 极光
- Apache Zeppelin 中 JDBC通用 解释器
- jquery dialog api
- Jquery——将Jquery序列化后的表单值转换成Json
- 列表侧滑删除和点击下滑
- 过滤后端返回的数组每条连续重复一遍问题
- 设计模式之策略
- vue.js安装过程(npm安装)
- tomcat无法识别单双引号的问题
- 遇到问题----MongoDB---JAVA--大批量操作先删后存时偶尔出现保存的文档也被删除
- ubuntu终端su认证失败:允许su到root的方法
- 如何通过Java代码将JsonArray转化为list集合
- ElasticSearch并发操作之乐观锁的使用
- 安卓JNI分析