js 多条件 多数据筛选

场景:前端多条件过滤

 

 

 数据格式:[

{

color: "",
companyName: "济南宏益环境科技有限公司",
orgid: "370114,3701",
remark: "111",
tag: "人工标记"

},
……

]

方法定义:

export function multiFilter(array, filters) {
    const filterKeys = Object.keys(filters)
    return array.filter((item) => {
      return filterKeys.every(key => {
        if(!filters[key].length) return true
        return !!~item[key].indexOf(filters[key])
      })
    })
  }

 

vue调用:
        getList1() {
            this.currentPage = 1
            this.pageSize = 10
            // console.log(this.searchForm)
   //重新组装数据
            let obj={
                companyName:this.searchForm.companyName,
                tag:this.searchForm.tag || "",
                orgid:this.searchForm.orgid || "",
            }            
            const arr = multiFilter(this.cloneData, obj)  //调用方法  ,别忘了是使用深拷贝的数据,建议接口拿到数据然后深拷贝一下。      
            this.tableData = arr
        },
 
 
 
 
posted @   赵辉Coder  阅读(865)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-08-31 elementUI table 两列数据‘逻辑并’过滤
点击右上角即可分享
微信分享提示