JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>
JavaScript
let obj1 = { x: 60, a: [0, 1], b: "foo", c: {y: 3} };
let obj2 = { x: 9, a: ['one'], c: {y: 4} };
let obj3 = { x: 30, a: ['two'], z: 'asd'}
const sum = _.mergeWith(obj1, obj2, obj3, (a, b) => {
if(_.every([a, b], _.isNumber)) return a + b
if(_.every([a, b], _.isArray)) return _.concat(a, b)
})
console.log(sum)