Quiero eliminar duplicados de una matriz de objetos. ¿Alguien puede ayudar con esto para eliminar duplicados en la matriz de objetos? Tengo una matriz de una matriz de objetos que quiero eliminar duplicados y quiero usar
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" } ] } ];este es el código de resultado de muestra que estoy esperando:
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" } ] } ];```Por aquí..
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);