I'm trying to get ag-grid to highlight duplicate rows by comparing the id, name, and description.
values = [
{ id: 10, name: 'axel', desc: 'it's me' },
{ id: 10, name: 'axel', desc: 'not me' },
{ id: 11, name: 'payton', desc: 'hello I'm payton'},
{ id: 10, name: 'axel', desc: 'it's me' }
];
the row that will be highlighted should be ...
values = [
{ id: 10, name: 'axel', desc: 'it's me' },
{ id: 10, name: 'axel', desc: 'it's me' }
];
There may be new objects inserted into the array without an id but I would still like to remove the objects with the same name and description.
I don't know ag-grid but if you want to find the duplicated object you can do this
const values = [
{ id: 10, name: 'axel', desc: "it's me" },
{ id: 10, name: 'axel', desc: 'not me' },
{ id: 11, name: 'payton', desc: "hello I'm payton"},
{ id: 10, name: 'axel', desc: "it's me" }
];
const findDuplicated = data => Object.values(data.reduce((res, item) => {
const key = JSON.stringify(item)
return {
...res,
[key]: [...(res[key] || []), item]
}
}, {})).filter(item => item.length > 1).flat()
console.log(findDuplicated(values))
console.log(findDuplicated(values.map(({name, desc}) => ({name, desc}))))