2017-01-18 4 views
3

Angular 2에 2 arrays이 있고 하나의 키 값을 기준으로 병합하려고합니다.

배열 1 :하나의 공통 키 각도를 기반으로 2 개의 배열 병합 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

고맙습니다. :) –

관련 문제