JSFiddle - React, Tailwind, and code Playground
JavaScript
var A = {
a1: {
c1: 50,
c2: 50,
},
b1: {
d1: 0,
d2: {
1: "hello"
},
d3: {
2: "world"
},
}
};
var B = {
a1: {
c1: 1,
c2: 125,
},
};
function completarObjetos(original, aCompletar) {
function dup(o) {
return JSON.parse(JSON.stringify(o));
};
for (var key in original) {
var obj = original[key];
var aC = aCompletar[key];
if (aC) {
if (dup(aC) == dup(obj)) continue;
else aCompletar[key] = completarObjetos(obj, aC);
} else {
aCompletar[key] = dup(obj);
}
}
return aCompletar;
}
console.log(JSON.stringify(B));
completarObjetos(A, B);
alert(JSON.stringify(B, null, 4));