如何筛选掉无效数据?
今天在做遍历20个数据时,需要判断后台返回的数据是否含user字段,有则遍历,无则跳过,如何实现呢?
刚开始想复杂了,我的做法是,用数组arr1, arr2分别来装,第一个装10个, 第二个再装10个。在遍历时,判断是否存在该字段
if (this.projects[i]["user"])
但此种方法无法判断第二次遍历从后台数组的index起始值,后面想到可以先过滤掉数据,再遍历。
如何通过js筛选掉无效数据呢?
有以下两种方法
假定arr是后台返回的数据,此时存在无效数据,
- 方法一,通过for循环遍历添加有效数据:
let arr1 = [];
let obj = {};
for (var i = 0; i < this.projects.length; i++) {
if (this.projects[i]["user"]) {
obj = this.projects[i];
arr1.push(obj);
}
}
成功获取有效数据
方法二,通过filter过滤掉无效数据,直接返回有效数据
let arr2 = this.projects.filter((item) => {
return item.user;
});