2016-07-22 3 views
-2

내가 값 1을 기반으로 병합해야하고 내가 속성을 알고 두 개체 다음과 같은 상황이 키 1 = namekey1입니다했다 I :JavaScript의 공통 값을 기반으로 두 개의 데이터 구조를 병합 하시겠습니까?

obja = [{ key1: value1; a : 1 ; b : 2}] 
objb = [ {namekey1: value1; d : 3 ; c : 4}] 

원하는 결과

objc = [{ key1: value1; a : 1 ; b : 2 ;d : 3 ; c : 4}] 

방법은 내가 할 수 있는가 이 작업을 수행?

+3

둘 중 누구도 동일한 키 이름을 사용합니까? 그렇다면 어떻게됩니까? 또한 완벽한 솔루션을 제안하는 것보다 해결할 수있는 방법을 시도해 보셨습니까? (귀하의 예제는 유효한 코드가 아니며, 배열이 관련되어 있는지 여부를 나타내려면 코드에도 있지만 텍스트는 없습니다) –

+0

_.js 맵을 시도했지만 확장 만했는데 혼합 된 것이 아니라 두 번째 객체를 얻는다. 아마 나는 라이브러리를 오해했다. –

답변

0

다음은 key1= namekey1에 대한 지식을 기반으로 한 최소의 예입니다. 이러한 객체 모두 당신이 속성 이름의 동일한 세트가 있는지 확인하고 obja

var obja = [{ key1: 'value1', a : 1, b : 2}] 
var objb = [ {namekey1: 'value1', d : 3, c : 4}] 

if(obja[0].key1==objb[0].namekey1){ 
obja[0].d = objb[0].d; 
obja[0].c = objb[0].c; 
} 
console.log(obja[0]) 

JSFIDDLE에없는 속성 만 추가해야 할 몇 가지 일반적인 key.For을 가지고 발생할 수 있습니다 경우

관련 문제