2017-10-23 14 views
1

1個にn個の配列をマージしたい。lodash n個の配列をマージする

例えば

// Array1 
 

 
[{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}] 
 

 
// Array 2 
 

 
[{name:'dgc', age:54}] 
 

 
// Required output 
 

 
[{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54},{name:'dgc', age:54}]

私は多くの他の同様の質問をしようとしたが、何も私のために働いていません。私を助けてください。

+1

可能な複製の[mulをマージする方法javascriptのIDでオブジェクトの複数の配列?](https://stackoverflow.com/questions/38505448/how-to-merge-multiple-array-of-object-by-id-in-javascript) – VTodorov

+0

助けられた – Jay

+0

@Jayあなたは '_.concat(array1、array2、array3 ....)' – Rajesh

答えて

0

concatとES6の普及構文を使用できます。

var arr1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}] 
 
var arr2 = [{name:'dgc', age:54}] 
 

 
var r = [].concat(...arr1, ...arr2); 
 
console.log(r)

それとも配列の任意の数をとる関数を作成して、新しい配列を返すことができます。

var arr1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}] 
 
var arr2 = [{name:'dgc', age:54}] 
 

 
let merge = (...arr) => [].concat(...arr); 
 
console.log(merge(arr1, arr2))

+0

をしなければなりません...それは3または5または100になることができます – Jay

+0

ちょうど私は2を与えた – Jay

+0

@Jayあなたは 'r = [] .concat(... arr1、... r);' – VTodorov

1

あなたはそれらの配列との配列を使用し、それらをマージするconcatreduceを使用することができ、nの配列をマージしたい考える:

var array1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}]; 
 
var array2 = [{name:'dgc', age:54}]; 
 

 
var arrays = [array1, array2]; 
 

 
var merged = arrays.reduce((acc, next) => acc.concat(next)); 
 
console.log(merged);

関連する問題