DeleteDuplicatesBy
DeleteDuplicatesBy[data,f] deletes those ei in data that yield duplicates in the list {f[e1],f[e2],…}.
DeleteDuplicatesBy[f] represents an operator form of DeleteDuplicatesBy that can be applied to an expression.
Please visit the official Wolfram Language Reference for more details and examples on core symbols.