Search code examples
javascriptlodash

Reorder URL query string alphabetically


I have a query string that looks something like this...

let badString = "dogs=c,b,a&cats=z,y,x";

Using vanilla javascript or the lodash framework I am trying to rearrange the key and values into alphabetical order, so it would end up like...

let goodString = "cats=x,y,z&dogs=a,b,c"


Solution

  • const goodString = badString.split('&').sort().map(val => {
        let [k,v] = val.split('=');
        return [k, v.split(',').sort().join(',')].join('=');
    }).join('&');