はじめに
この実験では、正規表現と配列メソッドを使ってURLパラメータを抽出し、JavaScriptオブジェクトにマッピングする方法を探ります。String.prototype.match()
を使ってすべてのキーバリューペアを取得し、Array.prototype.reduce()
を使ってそれらを単一のオブジェクトに変換する方法を学びます。この実験が終わるとき、URLを操作し、そこから有用な情報を抽出する方法をより深く理解しているでしょう。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、正規表現と配列メソッドを使ってURLパラメータを抽出し、JavaScriptオブジェクトにマッピングする方法を探ります。String.prototype.match()
を使ってすべてのキーバリューペアを取得し、Array.prototype.reduce()
を使ってそれらを単一のオブジェクトに変換する方法を学びます。この実験が終わるとき、URLを操作し、そこから有用な情報を抽出する方法をより深く理解しているでしょう。
現在のURLのパラメータを含むオブジェクトを作成するには、次の手順に従います。
node
と入力します。String.prototype.match()
を使ってすべてのキーバリューペアを抽出します。Array.prototype.reduce()
を使ってそれらをマッピングし、単一のオブジェクトに結合します。location.search
を渡します。以下がコードです。
const getURLParameters = (url) =>
(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
(a, v) => (
(a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a
),
{}
);
この関数を使って任意のURLを使ってそのパラメータを持つオブジェクトを取得することができます。以下はいくつかの例です。
getURLParameters("google.com"); // {}
getURLParameters("http://url.com/page?name=Adam&surname=Smith");
// {name: 'Adam', surname: 'Smith'}
おめでとうございます!あなたはURLパラメータをオブジェクトとしての実験を完了しました。あなたのスキルを向上させるためにLabExでさらに実験を練習することができます。