最近项目上遇到了一个点,就是后端接口传来的数据,需要前端在本地实现查询功能,但是编辑完数据后还要提交接口返回的所有数据,而不是修改的数据,因为我是半路被调过来帮忙的,不清楚他们当初为什么要这么设计,只能硬着头皮上了!
首先思路就是如何实现数据的过滤,恰好es6提供了filter方法,对此方法不了解的可以去学习下es6的内容
/**
* filter过滤数据公共方法
* @param condition 过滤条件
* @param data 需要过滤的数据
* author: Jacky
*/
const filterData = (condition, data) => {
return data.filter(item => {
return Object.keys(condition).every(key => {
return String(item[key]).toLowerCase().includes(
String(condition[key]).trim().toLowerCase())
})
})
}
export default filterData
也可以直接全局使用,具体方法在另外一篇封装base64方法里有详细说明,点击这里 可以直接去查看