纯前端多条件查询

2020-10-16  本文已影响0人  jack_rofer

说明:
①纯前端多条件查询,不涉及后端请求
②可多条件精确匹配和单个条件模糊匹配(或则多个条件模糊匹配)
③不懂看看注释

filterData(condition,data){
      //condition 传入的是查询条件,是一个对象
      //const condition = {
     //      字段: 值
  //    }
        //data 是本次需要筛选的数据源。
       let filter = (condition, data) => {
        return data.filter( item => {
          return Object.keys( condition ).every( key => {
            if(condition[ key ] == '') return true
            //这里是为了进行某个(或多个)条件的模糊查询做出的业务判断。key是对应的值。
           // let diff = key == 'gdsNm1' || 'gdsNm2' //多个条件模糊查询
            let diff = key == 'gdsNm'    //单个条件模糊查询
             ? String( item[ key ] ).toLowerCase().indexOf( String( condition[ key ] ).trim().toLowerCase() ) !== -1
             : String( item[ key ] ).toLowerCase() == String( condition[ key ] ).trim().toLowerCase()
            return diff
          })
          
        })
      }
      return filter(condition,data)
    }

转自:前端多条件查询数据处理

上一篇 下一篇

猜你喜欢

热点阅读