URLクエリーのkeyとvalueをまとめる

by iwbjp

JavaScript

function compress(src) {
  var keys = {};
  src.replace(/([^&=]+)=([^&]+)/g, function(full, key, val) {
    keys[key] = (keys[key] ? keys[key] + ',' : '') + val;
  });
  var result = [];
  for(var key in keys) {
    result.push(key + '=' + keys[key]);
  }
  return result.join('&');
}
console.log(compress("foo=1&foo=2&bar=a&bar=b&foo=3"));