This code merges two objects. How to amend it so that a property is discarded of the first object if it exists in the second object?
E.g. object 1 has this property:
surname: { test: '123', other: '124' }, and object 2:
surname: { test: '124' }, The merge would use the property of object 2 (other: '124' would not exist in the merged result)
function merge(...objects) { function m(t, s) { Object.entries(s).forEach(([k, v]) => { t[k] = v && typeof v === 'object' ? m(t[k] || {}, v) : v; }); return t; } return objects.reduce(m, {}); } var obj1 = { name: '112', surname: { test: '123', other: '124' }, age: 151, height: '183', weight: 80 }, obj2 = { name: '114', surname: { test: '124' }, age: 151, height: 184, weight: 81 }, result = merge(obj1, obj2); console.log(result);