console.log("연록")

[JavaScript] 같은 Key를 가진 두 배열 병합하기 본문

hone in on/JavaScript

[JavaScript] 같은 Key를 가진 두 배열 병합하기

연 록 2022. 1. 26. 23:10
728x90

오늘 할 일은 두 배열을 병합하는 것

자 우선 두 개의 데이터 준비

물론 전에 썼던 부산진구 인구 데이터를 사용

//데이터 1
var totPop = [
    { "district": "부전제1동", "population": 15552 },
    { "district": "부전제2동", "population": 9947 },
    { "district": "연지동", "population": 20842 },
    { "district": "초읍동", "population": 22431 },
    { "district": "양정제1동", "population": 20540 },
    { "district": "양정제2동", "population": 12976 },
    { "district": "전포제1동", "population": 20927 },
    { "district": "전포제2동", "population": 21101 },
    { "district": "부암제1동", "population": 23009 },
    { "district": "부암제3동", "population": 18011 },
    { "district": "당감제1동", "population": 23900 },
    { "district": "당감제2동", "population": 10333 },
    { "district": "당감제4동", "population": 11757 },
    { "district": "가야제1동", "population": 19989 },
    { "district": "가야제2동", "population": 17199 },
    { "district": "개금제1동", "population": 17202 },
    { "district": "개금제2동", "population": 11357 },
    { "district": "개금제3동", "population": 29547 },
    { "district": "범천제1동", "population": 12046 },
    { "district": "범천제2동", "population": 20709 }
];

//데이터 2
var fPop = [
    { "district": "부전제1동", "female": 7729 },
    { "district": "부전제2동", "female": 4952 },
    { "district": "연지동", "female": 10998 },
    { "district": "초읍동", "female": 11525 },
    { "district": "양정제1동", "female": 10808 },
    { "district": "양정제2동", "female": 7015 },
    { "district": "전포제1동", "female": 10856 },
    { "district": "전포제2동", "female": 11162 },
    { "district": "부암제1동", "female": 11777 },
    { "district": "부암제3동", "female": 9142 },
    { "district": "당감제1동", "female": 12502 },
    { "district": "당감제2동", "female": 5359 },
    { "district": "당감제4동", "female": 5996 },
    { "district": "가야제1동", "female": 10047 },
    { "district": "가야제2동", "female": 8821 },
    { "district": "개금제1동", "female": 8975 },
    { "district": "개금제2동", "female": 5801 },
    { "district": "개금제3동", "female": 15249 },
    { "district": "범천제1동", "female": 6320 },
    { "district": "범천제2동", "female": 10632 }
];

 

이 둘을 합치는 코드

var mergedData = [];

mergedData = totPop.map(function (item1) {
    var obj = fPop.find(function (item2) {
        return item1.district == item2.district;
    })
    item1.female = obj.female;
    return item1;
})

 

결과값을 출력하면?

짜잔, 잘 합쳐졌다.

 

설명이 왜 없냐고?

 

이해를 못 해서^^,, 이해하면 설명 쓰러 옵니다.

map을 몰라서 아쥑^^,,,