筛选调研公司的多条件筛选

在上家公司工作的时候有一个需求是在前端部分完成筛选功能,一次拿到所有数据然后根据多条件筛选筛选。通常情况下筛选是后台给接口在数据量不大的情况下,也有人可能会遇到前端筛选这样的情况特别写了这篇文章分享给大家,有问题请指出互相学习。

一般情况下的单多条件筛选筛选數组的filter方法就能够满足需求,本文讨论的重点是多多条件筛选下的复合筛选并列出了几个相关知识点。

// 这个是例子中的被筛选数组
 
 
根据單个名字筛选用filter方法,判断name是否为目标名字即可
// 根据单个名字筛选
 * 这段代码里我只加了一行解决部分筛选多条件筛选清空时候整体筛選失效的问题
 
例如这里,判断每条数据的name值是否在filters.name数组里是的话返回true,判断filters.age是空数组的话直接返回true空数组是模拟了age多条件筛选被清空嘚情况,我们仍然能得到正确的筛选数据
 
 

在判断语句中,只有上面6种情况会是false其余的都是true //a有内容才执行的代码 //a有内容才执行的代码...
 
我嘚理解是在遍历数组的时候:
Array.every的多条件筛选是「与」的关系,全真为真及多条件筛选全为true则为true,有一个false就返回false
Array.some的多条件筛选是「或」的關系有真为真,多条件筛选有一个true就返回true多条件筛选全为false的时候才返回false
// 判断每个名字都是字符串?

知识点4: 数组的深拷贝与浅拷贝

 
最近參与一些前端的面试工作深拷贝与浅拷贝是我最爱问的问题之一。一个问题就考察了数据类型数组操作,递归算法等
因为数组是js里嘚引用类型,单纯复制时复制的是其引用关系在对获取的数据进行筛选时,我并不希望影响原始数据所以我要用到「深拷贝」得到与原始数据数据结构完全相同又相互独立的数据,而不是只复制其引用关系
// 我常用方法,如果项目很大不推荐
// 看掘金小册前端面试指南看到的
// 这个加缓存的方法看到的时候很惊艳,我知道递归可以解决但是没有想过加缓存优化
// 常规无缓存的方法
 

}

筛选最终结果不都是类似拼接sql的where哆条件筛选么或者Func

}

我要回帖

更多关于 多条件筛选 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信