2017-11-28 34 views
1

どのように(ES5を使用して)それを行うのは誰でも知っていますか?こんにちは。さまざまな引数(JS)を持つ関数を呼び出す

C++セクションとCセクションで同様の質問が見つかりましたが、Javascriptセクションでは見つかりませんでした。

var array = [1, 2, 3, 4, 5]; 
 
\t 
 
//single argument 
 
console.log(array[0]); 
 
\t 
 
//dynamic arguments 
 
var item; 
 
for (var i in array) { 
 
\t item = array[i]; 
 
\t console.log("test", item); 
 
\t //same as 
 
\t //console.log("test", 0); 
 
\t //console.log("test", 1); 
 
\t //... 
 
} 
 

 
//Objective: console.log("test", 1, 2, 3, 4, 5); 
 
/*var obj = {}; 
 
for (var key in array) { 
 
\t obj[key] = array[key]; 
 
} 
 
console.log("test", obj[0], obj[1], obj[2], obj[3], obj[4]); 
 
*/ 
 
console.log("test", array[0], array[1], array[2], array[3], array[4]); 
 
//need to know the no. of items

+0

は、どのような正確にあなたが達成したいですか?さまざまな引数を受け入れる必要がある機能は何ですか?どんな議論のリストとそれはどのように変化するのですか? – MysterX

+0

2次元配列を代わりに使用すればいいですか? –

+0

必要な引数の数だけ直接配列を渡してください! –

答えて

3

あなたはspreadオペレータを必要としています。配列を破壊し、項目を別々の変数として渡します。

var array = [1, 2, 3, 4, 5]; 
 
\t 
 
console.log("test", ...array); // ES6 and higher 
 
console.log.apply(console, ["test"].concat(array)); // ES5

+0

スプレッドオペレータが利用できない場合は、console.log.apply(コンソール、["test"]、concat(array)) – kmdm

+0

回答は離れていますが、 ) – blueren

+0

ええ;スプレッドのES5バージョンを使用することができます:https://github.com/addyosmani/es6-equivalents-in-es5#spread-operatorありがとう。 –

関連する問題