JavaScript で GET パラメータを解析する
JavaScript で GET パラメータをスマートに解析する方法
GET パラメータを Object (辞書) 化する
いまは URLSearchParams で簡単にできるらしい
IE を切り捨てられるようになったので、もう泥臭いやり方はしなくていい
Object.fromEntries() に渡すだけで簡単に Object 化できる
code:getparams.js
// window.location.search は URL の "?" とそれ以降 e.g "?foo=1&bar=2"
const urlParams = new URLSearchParams(window.location.search);
const paramsObject = Object.fromEntries(urlParams); //=> { foo: '1', bar: '2' }
ちなみに昔風のやり方ならこう
code:getparams.old.js
// window.location.search は URL の "?" とそれ以降 e.g "?foo=1&bar=2"
window.location.search
.slice(1) // "?" を除外
.split('&')
.map(p => p.split('='))
.reduce((obj, pair) => {
const key, value = pair.map(decodeURIComponent);
objkey = value;
return obj;
}, {}); //=> { foo: '1', bar: '2' }
参考
How to convert URL parameters to a JavaScript object? - Stack Overflow
逆に Object から GET パラメータにしたい場合
code:toGetParam.js
new URLSearchParams({ foo: '1', bar: '2' }).toString(); //=> 'foo=1&bar=2'