aaa.com/?hoge=appare&foo=great
のクエリ文字列を
const fuga = {
hoge: appare,
foo: great,
}
みたいにしたかったのでその書き方になります。
「javascriptでクエリ文字列を取得する」の書き方を参考にClass化しました。
class GetQueryString {
constructor() {
this.queryString = window.location.search;
}
setUp() {
let queryStringObj = {};
const getQueryString = this.queryString.slice(1).split('&');
getQueryString.forEach((queryString) => {
const splitQueryString = queryString.split('=');
queryStringObj = Object.assign(
{},
queryStringObj,
{ [splitQueryString[0]]: splitQueryString[1] },
);
});
return queryStringObj;
}
}
const getQueryString = new GetQueryString();
if (getQueryString.queryString) {
getQueryString.setUp();
}
hitsginさんからのご指摘がありましたワンライナーで書く方法はこちら
こちらのほうがいいですね。
[...new URLSearchParams(location.search)].reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})