处理对象参数-如果对象中的该项为空则删除该项

处理对象参数-如果对象中的该项为空则删除该项


前言

当我们传递参数时,对象中的某一项可能为空,虽然说传递过去,数据库可以不接收,但是作为未来的“高级+全栈”工程师,怎么能干这样的事呢,所以就需要删除对象中为空的项。

一、方法封装

// 如果对象的每一项为空则删除该项
    filterParams(obj){
        let _newPar = {};
        for (let key in obj) {
            //如果对象属性的值不为空,就保存该属性(,如果属性的值为0,保存该属性。如果属性的值全部是空格,属于为空。)
            if ((obj[key] === 0 || obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
                //记录属性
                _newPar[key] = obj[key];
            }
        }
        //返回对象
        return _newPar;
    }

二、react项目请求前处理参数调用

getAndqueryTable(source) {
        var { keyWord,position,companyName,schoolName,education,workingStart,workingEnd,pageNo,pageSize,recommendTable } = this.state
        var params = {
            keyWord,
            position,
            companyName,
            schoolName,
            education,
            workingStart,
            workingEnd,
            pageNo,
            pageSize,
            source,
        }

        // 参数过滤
        params = this.filterParams(params)

        talentTable(params).then(res => {
            if (res.code == 'success') {
                var dateSource = res.data.rows
                // 将搜索到的总条数开放出去给搜索时的总条数使用
                var searchTotal = res.data.total
                if (recommendTable) {//推荐列表
                    var recTotal = res.data.total
                    this.setState({
                        recTotal
                    })
                }else {
                    var newTotal = res.data.total
                    this.setState({
                        newTotal
                    })
                }
                dateSource.forEach(item => {
                    // 处理教育
                    item.eduJson = (item.eduJson? JSON.parse(item.eduJson) : [])
                    // 处理工作
                    item.jobJson = (item.jobJson? JSON.parse(item.jobJson) : [])
                    // 处理列key
                    item.key = item.id
                });
                this.setState({
                    dateSource,
                    searchTotal
                })
            }
        })
    }

三、效果演示

在这里插入图片描述

四、附赠-判断对象是否为空

// 判断对象是否为空
    isEmptyObject(obj) {   
      for (var key in obj){
        return false;//返回false,不为空对象
      }  
      return true;//返回true,为空对象
    }

总结

哇哦,香不香~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值