LoginSignup
0
1

More than 3 years have passed since last update.

クエリ文字列をobjectで返す

Last updated at Posted at 2019-07-02

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 }), {})
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1