[{ name: "Dill" , surname: "Jones" , age: 25 }, { name: "Dill" , surname: "Clint", age: 25}, { name: "Dill" , surname: "Gomes", age: 25}]
{name: "Dill", age: 25, surname: null}
const obj = Object.fromEntries(Object
.entries(arr.reduce((acc, n) => (
Object.entries(n).forEach(([ k, v ]) => (acc[k] ??= new Set).add(v)),
acc
), {}))
.map(n => [ n[0], n[1].size === 1 ? [...n[1]][0] : null ])
);