Tengo objetos de matriz con path de claves y current . Cómo eliminar elementos duplicados, donde la clave current tiene el mismo valor.
let arrPath = [{ path: [1, 2], current: "K" }, { path: [0, 3], current: "I" }, { path: [1, 3], current: "N" }, { path: [1, 4], current: "N" }, { path: [0, 2], current: "G" }, { path: [2, 2], current: "G" } ];Puede eliminar objetos duplicados (objeto duplicado en el sentido de que contiene una propiedad current duplicada) utilizando reduce .
let arrPath = [{ path: [1, 2], current: "K" }, { path: [0, 3], current: "I" }, { path: [1, 3], current: "N" }, { path: [1, 4], current: "N" }, { path: [0, 2], current: "G" }, { path: [2, 2], current: "G" }] let resultData = arrPath.reduce((elements, obj, index) => { let existingData = elements.find(element => element.current === obj.current ); if (!existingData) { elements.push(obj); } return elements; }, []); console.log(resultData)Puede asignar cada valor de la matriz a una entrada utilizando los valores current de las claves.
Luego use estas entradas para construir un objeto Map , eliminando efectivamente las entradas duplicadas.
Puede volver a convertir el Map en una matriz utilizando Array.from
Array.from(new Map(arrPath.map(o => [o.current, o])).values())