2016-07-14 6 views
0

私は、パラメータとしてカンマ区切りのオブジェクトリストを必要とする関数を使用しています。 私が実際に持っているのは、オブジェクトの配列です。カンマ区切りオブジェクトのリストとしてオブジェクトの配列のオブジェクトを関数に渡すにはどうすればよいですか?

var my_array_of_objects = [{"bla":bla, "blub":blub, ...},{"bla":bla, "blub":blub, ...},{"bla":bla, "blub":blub, ...}, ...]; 
var variable = my_function(object, object); 

私はそれを理解できませんでした。 join(',')関数は、オブジェクトを文字列に変換するので、必要ではありません。私はまた、map()機能で何かを試してみましたが、今まで成功していませんでした。誰でもチップやソリューションを提供することはできますか?

+2

'オブジェクトのカンマ区切りリスト' のようなものはありません。なぜ関数に配列を渡すだけではないのですか? –

+2

['Function.prototype.apply()']](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply) – hindmost

+0

@Rory:この関数は配列を期待すると、コンマで区切られた複数のオブジェクトが必要です。私はまた、それが縮小されたサードパーティのスクリプトだから関数を書き直すことはできません。しかし、HindmostとPiyushによって提供されたapply-methodは仕事をしているようでした – user2718671

答えて

1

関数が

function hello(obj1,obj2) { 
} 

である場合、この

hello.apply(this,my_array_of_objects) 
+1

うわー!ありがとうございました!そして、誰かが答えをコメントとしても提供してくれました。これは仕事をした。 :) – user2718671

0

iはuはあなたが広がり演算子を使用して配列を渡すことができJSON JSON.stringify(my_array_of_objects);

0

に変換する必要があると思います。

Spread Operator

拡散演算子は、式が、または(配列リテラルの)複数の要素又は(割当を構造化代入するための)複数の変数(関数呼び出しのための)複数の引数が期待される場所に拡張することを可能にします。

let args = [{"bla":"bla", "blub":"blub"},{"bla":"bla", "blub":"blub"},{"bla":"bla", "blub":"blub"}]; 
 

 
let your_fn = (a, b, c) => { 
 
    console.log(a); 
 
    console.log(b); 
 
    console.log(c); 
 
} 
 

 
your_fn(...args);

関連する問題