perdón por mi inglés, quiero eliminar el primer elemento de una matriz de objetos si ocurre dos veces
aquí está la matriz = [{id: 34, valor: 45}, {id: 23, valor: 35}, {id: 34, valor: 28}]
quiero eliminar el primer elemento porque la identificación del tercer elemento es la misma que la del primer elemento
la salida debe ser array=[{id:23,value:35}, {id:34,value:28}]
Esto le dará una matriz con el último valor de los elementos duplicados, en orden conservado. Si quieres exactamente el segundo, necesitas una bandera extra
array=[{id:34,value:45}, {id:23,value:35}, {id:34,value:28}] const obj = array.reduce ( (acc,cur,index) => { acc[cur.id] = {index:cur}; return acc; },{}); const output = Object.values(obj).sort( (a,b) => a.index - b.index).map( ({index:val}) => val ) console.log(output)Una solución usando ES6
const array = [ { id: 34, value: 45 }, { id: 23, value: 35 }, { id: 34, value: 28 }, ]; const convertToArray = array.map(({ id, value }) => [id, value]); const convertToSet = Object.fromEntries(convertToArray); const revertAsCleanedArray = Object.entries(convertToSet); const cleanedArrayOfObjects = revertAsCleanedArray.map(([id, value]) => ({id, value}));Obtenga todos los valores únicos en una matriz de JavaScript
let arr = [{id:34,value:45}, {id:23,value:35}, {id:34,value:28}] var unique = arr.reverse().filter((v, i, a) => a.map(e => e.id).indexOf(v.id) === i); console.log(unique);