URLのクエリパラメータを取得する処理を、汎用的に使えるようにまとめてみます。
サンプルコード
今回の実装は、URLのクエリパラメータのうち使用したいキーのみを取得する想定になります。
const params = getQueryParams('user', 'id'); console.log(params); // { user: "sophia", id: "214" } /** * 指定したクエリパラメータのキーに対応する値を取得 * * @param {...string} keys - 取得したいクエリパラメータのキー(複数可) * @returns {Object} キーとその値のオブジェクト。該当する値がない場合はnull * * @example * // URL: https://example.com/?user=sophia&id=214 * const params = getQueryParams('user', 'id'); * console.log(params); // { user: "sophia", id: "214" } */ function getQueryParams(...keys) { const urlParams = new URLSearchParams(window.location.search); const result = {}; keys.forEach(key => { result[key] = urlParams.get(key); }); return result; }
これでURLのクエリパラメータのうち、使用したいキーの値のみをオブジェクト形式で取得できました。
URLのクエリパラメータを取得するデモページ
補足として、分割代入を使うことで変数として直接使用することもできます。
const {user, id} = getQueryParams('user', 'id'); console.log(user, id); // "sophia" "214"
コメントが承認されるまで時間がかかります。