JSFiddle - React, Tailwind, and code Playground

JavaScript

function merge(a, b) {
    for (var key in b) {
        try {
            if ( b[key].constructor === Object ) {
                a[key] = merge(a[key], b[key]);
            } else {
                a[key] = b[key];
            }
        } catch(e) {
            a[key] = b[key];
        }
    }
    return a;
}

var a = { '1': { 'a': 1, 'b': 2, 'c': 3 } };
var b = { '1': { 'd': 4, 'e': 5, 'f': 6}, '2': {'g': 7} };
    
var result = merge(a, b);
alert(JSON.stringify(result));