Estoy tratando de eliminar objetos duplicados si las identificaciones son las mismas con lodash _.uniqBy .
O esto no tiene que ser un lodash o _.uniqBy , pero ¿es esto posible?
Además, el valor de identificación siempre es dinámico, por lo que esta vez quiero eliminar el objeto con id:123 , pero la otra vez será una id diferente
import _ from "lodash"; export default function App() { const samples = [ { id: 123, name: "Dan", age: 10 }, { id: 234, name: "Jake", age: 22 }, { id: 123, name: "Jake", age: 9 } ]; let uniq = _.uniqBy(samples, samples.name); console.log(uniq); return ( <div className="App"> {uniq.map((u) => ( <p>{u.id}</p> ))} <h2>Start editing to see some magic happen!</h2> </div> ); }O puede echar un vistazo al código de muestra aquí
Solo necesita proporcionar el nombre de la propiedad, que es el name en su caso. Consulte la documentación _.uniqBy() .
const samples = [{ id: 123, name: "Dan", age: 10 }, { id: 234, name: "Jake", age: 22 }, { id: 123, name: "Jake", age: 9 } ]; const unique = _.uniqBy(samples, 'name'); console.log(unique); .as-console-wrapper { max-height: 100% !important; top: 0; } <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> Como se editó la pregunta: si desea que sea único para la id , debe pasar "id" en lugar de "name" .