JavaScript では、配列からなど、変数の引数を関数に送信できます。ただし、このアプローチは Python の *args 表記とは異なります。
配列の使用:
配列を関数の引数として渡す場合、それは 1 つの引数として扱われます。カスタム ループを使用して、配列を反復処理してその要素にアクセスできます。
var arr = ['a', 'b', 'c']; var func = function() { // debug console.log(arguments.length); // for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } }; func('a', 'b', 'c', 'd'); // prints 4, then 'a', 'b', 'c', 'd' func(arr); // prints 1, then 'Array'
スプレッド構文 (ES6 ):
ES6 では、スプレッド構文が導入されました。これにより、関数への個々の引数としての配列の要素:
func(...arr); // prints 4, then 'a', 'b', 'c', 'd'
パラメータ リスト (ES6) ):
または、関数パラメータ リストでスプレッド構文を直接使用して、関数の引数の配列を作成することもできます:
function func(...args) { args.forEach(arg => console.log(arg)); } const values = ['a', 'b', 'c']; func(...values); func(1, 2, 3);
任意の引数の受け渡し:
使用するメソッドに関係なく、JavaScript では任意の数の引数をオブジェクトに渡すことができます。 function.
引数の長さの取得:
関数の長さプロパティにアクセスすることで、予期される引数の数を決定できます:
var test = function (one, two, three) {}; console.log(test.length); // 3
apply (レガシー) の使用:
以前は、apply メソッドを使用して配列を引数として関数に渡し、this を設定することができました。 value:
func.apply('test', arr);
ただし、現在では、そのシンプルさと汎用性の点でスプレッド構文が好まれています。
以上がJavaScript 関数に変数引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。