はじめに
この実験では、JavaScript の rearg
関数を調べます。この関数を使うと、指定されたインデックスに基づいて関数に渡される引数の順序を並び替えることができます。Array.prototype.map()
メソッドとスプレッド演算子を使って引数を変換し、並び替えられた引数で元の関数を呼び出す方法を学びます。この実験が終わるとき、JavaScript で rearg
関数を使って関数の引数を操作する方法を十分に理解しているようになります。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScript の rearg
関数を調べます。この関数を使うと、指定されたインデックスに基づいて関数に渡される引数の順序を並び替えることができます。Array.prototype.map()
メソッドとスプレッド演算子を使って引数を変換し、並び替えられた引数で元の関数を呼び出す方法を学びます。この実験が終わるとき、JavaScript で rearg
関数を使って関数の引数を操作する方法を十分に理解しているようになります。
JavaScript で関数の引数を並び替えるには、rearg()
関数を使うことができます。まず、指定されたインデックスに従って引数を並べ替えて提供された関数を呼び出す関数を作成します。Array.prototype.map()
を使って、indexes
に基づいて引数の順序を並び替えることができます。そして、スプレッド演算子 (...
) を使って、変換された引数を fn
に渡します。
以下は、rearg()
関数を使う方法の例です。
const rearg =
(fn, indexes) =>
(...args) =>
fn(...indexes.map((i) => args[i]));
この例では、rearg()
を使って、別の関数の引数を並び替える新しい関数を作成しています。
var rearged = rearg(
function (a, b, c) {
return [a, b, c];
},
[2, 0, 1]
);
rearged("b", "c", "a"); // ['a', 'b', 'c']
上記のコードでは、function(a, b, c) { return [a, b, c]; }
関数の引数を並び替える新しい関数 rearged
を作成しています。indexes
引数は、引数を並び替える順序を指定します。この場合、3 番目の引数が最初に、1 番目の引数が 2 番目に、2 番目の引数が 3 番目に来るようにします。rearged('b', 'c', 'a')
を呼び出すと、['a', 'b', 'c']
が返され、これは並び替えられた引数で元の関数を呼び出した結果です。
おめでとうございます!関数の引数を並び替える実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。