I want to remove duplicates from an array of objects can anyone help with this to remove duplicates in the array of objects. I have an array of array of objects that I want to remove duplicates and I want to use
const firstArray = [
{
first: "01",
data: [
{ id: "01", name: "test1" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
{ id: "05", name: "test1" },
{ id: "06", name: "test2" },
{ id: "07", name: "test1" }
]
},
{
first: "02",
data: [
{ id: "01", name: "test2" },
{ id: "02", name: "test1" },
{ id: "03", name: "test3" },
{ id: "05", name: "test2" },
{ id: "06", name: "test2" },
{ id: "07", name: "test1" }
]
},
{
first: "03",
data: [
{ id: "01", name: "test3" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
{ id: "04", name: "test2" },
{ id: "05", name: "test3" },
{ id: "07", name: "test1" }
]
}
];
this is the sample result code i am expecting :
const firstArray = [
{
first: "01",
data: [
{ id: "01", name: "test1" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
]
},
{
first: "02",
data: [
{ id: "01", name: "test1" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
]
},
{
first: "03",
data: [
{ id: "05", name: "test1" },
{ id: "06", name: "test2" },
{ id: "07", name: "test3" }
]
}
];```
this way..
const firstArray =
[ { first: '01'
, data:
[ { id: '01', name: 'test1' }
, { id: '02', name: 'test2' }
, { id: '03', name: 'test3' }
, { id: '05', name: 'test1' }
, { id: '06', name: 'test2' }
, { id: '07', name: 'test1' }
] }
, { first: '02'
, data:
[ { id: '01', name: 'test2' }
, { id: '02', name: 'test1' }
, { id: '03', name: 'test3' }
, { id: '05', name: 'test2' }
, { id: '06', name: 'test2' }
, { id: '07', name: 'test1' }
] }
, { first: '03'
, data:
[ { id: '01', name: 'test3' }
, { id: '02', name: 'test2' }
, { id: '03', name: 'test3' }
, { id: '04', name: 'test2' }
, { id: '05', name: 'test3' }
, { id: '07', name: 'test1' }
] } ]
firstArray.forEach(({data})=>
{
for (let i=data.length;--i>0;)
if (data.findIndex(({name})=>name===data[i].name) < i)
data.splice(i,1)
})
console.log( JSON.stringify( firstArray,0,2))
.as-console-wrapper {max-height: 100%!important;top:0 }
const firstArray = [
{
first: "01",
data: [
{ id: "01", name: "test1" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
{ id: "05", name: "test1" },
{ id: "06", name: "test2" },
{ id: "07", name: "test1" }
]
},
{
first: "02",
data: [
{ id: "01", name: "test2" },
{ id: "02", name: "test1" },
{ id: "03", name: "test3" },
{ id: "05", name: "test2" },
{ id: "06", name: "test2" },
{ id: "07", name: "test1" }
]
},
{
first: "03",
data: [
{ id: "01", name: "test3" },
{ id: "02", name: "test2" },
{ id: "03", name: "test3" },
{ id: "04", name: "test2" },
{ id: "05", name: "test3" },
{ id: "07", name: "test1" }
]
}
];
let filterValues = firstArray.map((item) => {
let data = item.data.filter(
(value, index, data) =>
data.findIndex((item) => item.name === value.name) === index
);
return { ...{ first: item.first }, data };
});
console.log(filterValues);