数据数组操作之过滤数据filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会改变原始数组。 需要接收

//1:自定义去掉打过勾选的项

fnHideDagou(){//自定义去掉打过勾选的项
        console.log('自定义去掉打过勾选的项',this.data)
        // var count = 0
        // //储存打勾后的表单项目
        // this.data.map((data)=>{
        //     if(!data.lj_detail) return
        //     data.lj_detail.find((v)=>{//获取第一次符合条件的项目并返回记录值
        //         if(v[8]!=='打钩了')
        //             return count++
        //     })
        // })
        // 过滤掉找到内层的v[8]等于null的
        this.data = this.data.filter((data)=>{
            if(!data.lj_detail) return
            return data.lj_detail.find((v)=>{
                    return v[8]==null
            })
        })
        // console.log('count-----',count)
    },

2:比较通用的模糊搜索

computed:{
    
}      tables(){
          const search = this.search//搜索词
          if(search){
              //过滤
              return this.data.filter(data=>{
            
            //
return Object.keys(data).some(key=>{ //--也可以模糊搜索所有data内的key
          return ["zl_no","pd_id","pd_name"].some(key=>{//指定key项进行搜索
                      return String(data[key]).toLowerCase().indexOf(search) > -1
                  })
              })
          }
          return this.data
      },

 

posted @ 2020-07-15 09:03  少哨兵  阅读(1998)  评论(0编辑  收藏  举报