I have a array something like this.
const arr = [
{id: '1', name: 'manager'},
{id: '5', name: 'owner'},
{id: '2', name: 'member'},
{id: '2', name: 'owner'},
{id: '3', name: 'manager'},
{id: '2', name: 'member'},
{id: '3', name: 'owner'},
{id: '4', name: 'owner'},
{id: '4', name: 'member'},
{id: '5', name: 'manager'},
];
I'd like to check duplicate objects by id and remove old objects and need array like this.
output :
const arr = [
{id: '1', name: 'manager'},
{id: '2', name: 'member'},
{id: '3', name: 'owner'},
{id: '4', name: 'member'},
{id: '5', name: 'manager'},
];
Hope you got my point.
One liner, if you don't mind.
const arr = [{"id":"1","name":"manager"},{"id":"5","name":"owner"},{"id":"2","name":"member"},{"id":"2","name":"owner"},{"id":"3","name":"manager"},{"id":"2","name":"member"},{"id":"3","name":"owner"},{"id":"4","name":"owner"},{"id":"4","name":"member"},{"id":"5","name":"manager"}];
const result = Object.values(arr.reduce((acc, item) => ({...acc, [item.id]: item}), {}));
console.log(result);
.as-console-wrapper{min-height: 100%!important; top: 0}