vue中get请求动态拼接处理url参数

        // 假如我们需要实现下列需求:
        // 数据请求方式是get,参数有四个分别是obj的每个key,
        // 如果key对应的value存在则正常拼接,如果不存在则直接去掉这一项
        // 第一种:
        // 定义一个obj,里面a,c的value为空
        var obj={
            a:"",
            b:2,
            c:"",
            d:4
        }
        // 需要请求的url地址
        var url="aaa/bbb?"
        if(obj.a){
            // 如果obj.a存在,则进行正常拼接
            url=url+'a'+'='+obj.a;
        }
        if(obj.b){
            // 如果obj.a存在,还需要用三目判断前面的key和对应value是否存在
            // 如果存在则需加&,如果不存在则直接拼接
            url=url+(url=='aaa/bbb?'?'b':'&b')+'='+obj.b;
        }
        if(obj.c){
            url=url+(url=='aaa/bbb?'?'c':'&c')+'='+obj.c;
        }
        if(obj.d){
            url=url+(url=='aaa/bbb?'?'d':'&d')+'='+obj.d;
        }


        // 第二种:
        // 定义一个obj,里面a,c的value为空
        var obj={
            a:null,
            b:0,
            c:"",
            d:0
        }
        // 需要进行请求的url地址
        var url="aaa/bbb?"
        遍历整个对象
        for (let key in obj){
            // 如果该项的obj不为空(等于0也可以),并且是第一个不为空的参数时,直接进行拼接,不用加&
            if(url==='aaa/bbb?' && obj[key] || url==='aaa/bbb?' && obj[key]===0){
                url=url+key+'='+obj[key]
        // 如果该项的obj不为空(等于0也可以),但不是第一个不为空的参数时,加&进行拼接
            }else if(url!=='aaa/bbb?' && obj[key] || url!=='aaa/bbb?' && obj[key]===0){
                url=url+'&'+key+'='+obj[key]
            }              
        }
        console.log(url)