JavaScriptでカスタムURL短縮関数を書く
問題
2つのJavaScript関数を作成する必要があります-
- 最初の関数は長いURLを受け取り、それに対応する短いURLを返す必要があります。
- 2番目の関数は、短縮URLを取り込んで、元のURLにリダイレクトする必要があります。
例
以下はコードです-
const url = 'https://www.google.com/search?client=firefox-b-d&q=google+search'; const obj = {}; const urlShortener = (longURL = '') => { let shortURL = "short.ly/" + longURL.replace(/[^a-z]/g,'').slice(-4); if(!obj[shortURL]){ obj[shortURL] = longURL; }; return shortURL; } const urlRedirector = (shortURL = '') => { return obj[shortURL]; }; const short = urlShortener(url); const original = urlRedirector(short); console.log(short); console.log(original);
出力
以下はコンソール出力です-
short.ly/arch https://www.google.com/search?client=firefox-b-d&q=google+search
-
JavaScriptの関数プロトタイプ
JavaScriptで作成された関数には、JavaScriptエンジンによって追加されたプロトタイププロパティが常にあります。プロトタイププロパティは、デフォルトでコンストラクタプロパティを含むオブジェクトです。関数protoypeには、-からアクセスできます。 functionName.prototype オブジェクトが関数コンストラクターを使用して作成されている場合、このプロトタイププロパティを使用して、その関数コンストラクターによって作成されたオブジェクト間でメソッドまたはプロパティを共有できます。 以下は、JavaScriptの関数プロトタイプのコードです- 例 <!DOCT
-
JavaScriptでの関数の借用。
call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &