var a = [1, 2, {s:3}, {s:4}, {s:5}].map(item => JSON.stringify(item)) var b = [{s:2}, {s:3}, {s:4}, 'a'].map(item => JSON.stringify(item)) var diff = a.concat(b) .filter(v => !a.includes(v) || !b.includes(v)) .map(item => JSON.parse(item)) // diff: [1, 2, {s:5}, {s:2}, "a"]