Suppose I have this query and want to convert into an object 

> a1.b2.article1=0&a2.article2=1&c3!article3=0&article16-abc=2

output for this should be 

>     article1: 'DRAFT',
>     article2: 'REVISION',
>     article3: 'DRAFT',
>     article16: 'READY'

Please review my code. Is this the right way to do perform this task?

    let a = "a1.b2.article1=0&a2.article2=1&c3!article3=0&article16-abc=2";
    let con = {'0':'DRAFT', '1':'REVISION', '2':'READY'}
    let obj = {};
    a = a.replace(/-abc/g, "");
    a = a.replace(/[.!]/g, "&");
    a = a.split("&").forEach((v, i) => {
        let b = v.split("=");
        if (b.length > 1) {
           Object.assign(obj,{[b[0]]:con[b[1]]})
        }
    });

I'm wondering if there any optimized way to do this.