RATSENO

두개의json array 병합하기 본문

DEV/JS

두개의json array 병합하기

RATSENO 2021. 3. 4. 20:36

두 개의 array가 있습니다.

묘하게 비슷하게 생겼지만, arr2의 요소들은 추가적으로 job, addres 속성이 있습니다.

var arr = [
    {
        id : 1,
        name : "철수",
        age : 30
    },
    {
        id : 2,
        name : "철수2",
        age : 30
    }    
];
var arr2 = [
    {
        id : 1,
        name : "철수",
        age : 30,
        job : "개발자",
        addres : "서울" 
    },
    {
        id : 2,
        name : "철수2",
        age : 30,
        job : "디자이너",
        address : "부산"
    }    
];

두 array중 arr1arr2요소들 중 id(키값)이 같은 요소를 병합하고 싶습니다.

그중에 arr2요소 중 job속성만 있었으면 합니다.

var mergedList = []; //병합된 결과를 담을 변수
mergedList = arr.map(function(item1){
	//arr2에서 arr1의 요소인 item1과 id값이 같은 항목을 return;
    var obj = arr2.find(function(item2){
        return item1.id == item2.id;
    })
    //기준이 되는 arr1의 요소인 item1
    //item1에 새로운 속성인 "job"을 생성하고, obj(arr2의 요소)의 "job"의 값을 셋팅
    item1.job = obj.job;
    return item1;
});

Comments