2017-01-18 19 views
3

私は2 arraysAngular 2にあります。これを1つのキー値に基づいてマージしたいと思います。

アレイ1:2つの配列を1つの共通キーに基づいてマージする2

[{"columnId":1,"type":"value 1"},{"columnId":2,"type":"value 2"}] 

アレイ2:

[{"columnId":1,"field":"field 1"},{"columnId":2,"field":"field 2"}] 

そして私が望む最終的な結果。これは、あなたが望む何をすべき

[{"columnId":1,"field":"field 1","type":"value 1"},{"columnId":2,"field":"field 2","type":"value 2"}] 

答えて

4

として:

const arr1 = [{"columnId":1,"type":"value 1"},{"columnId":2,"type":"value 2"}]; 
const arr2 = [{"columnId":1,"field":"field 1"},{"columnId":2,"field":"field 2"}]; 

const result = arr1.map(val => { 
    return Object.assign({}, val, arr2.filter(v => v.columnId === val.columnId)[0]); 
}); 

console.log(result); 
// [{"columnId":1,"field":"field 1","type":"value 1"},{"columnId":2,"field":"field 2","type":"value 2"}] 
+0

ありがとうございました。 :) –

関連する問題