Hola chicos, ¿hay alguna forma en que pueda recuperar el último objeto único en una matriz en el código debajo de la identificación en el primer y segundo índice son iguales? ¿Hay alguna manera en que pueda recuperar la última aparición de la identificación con el objeto correspondiente?
0: {id: 'tra.528555295', name: 'heart'} 1: {id: 'tra.528555295', name: 'heart-outline'} 2: {id: 'tra.528555301', name: 'heart'} 3: {id: 'tra.528555301', name: 'heart-outline'}
Debe iterar a través de toda la matriz y realizar un seguimiento del "último" objeto con esa ID
única encontrada.
Aquí hay una forma en que puede hacerlo usando Array.prototype.reduce
para iterar a través de la matriz y realizar un seguimiento de la "última" ID
encontrada, luego extrayendo valores con ID
únicas usando Object.values
:
const arr = [ { id: "tra.528555295", name: "heart" }, { id: "tra.528555295", name: "heart-outline" }, { id: "tra.528555301", name: "heart" }, { id: "tra.528555301", name: "heart-outline" } ]; const result = Object.values( arr.reduce((accumulator, item) => { const { id, ...rest } = item; return { ...accumulator, [id]: { id, ...rest } }; }, {}) ); console.log(result);
Si puede proporcionar la identificación, sugiero:
const findLastElementOfId = (arr, id) => { return arr.filter(object => object.id === id).at(-1) }
filtre la matriz para los objetos con la identificación que está buscando y devuelva la última.