repetidos query objetos eliminar elementos duplicados datos buscar array javascript lodash

javascript - query - Lodash elimina duplicados de la matriz



javascript array select (5)

O simplemente use union , para una matriz simple.

Esta es mi información:

[ { url: ''www.example.com/hello'', id: "22" }, { url: ''www.example.com/hello'', id: "22" }, { url: ''www.example.com/hello-how-are-you'', id: "23" }, { url: ''www.example.com/i-like-cats'', id: "24" }, { url: ''www.example.com/i-like-pie'', id: "25" } ]

Con Lodash, ¿cómo podría eliminar objetos con claves de identificación duplicadas? Algo con filtro, mapa y único, pero no del todo seguro.

Mi conjunto de datos real es mucho más grande y tiene más claves, pero el concepto debería ser el mismo.


Puede usar el método lodash _.uniqWith, está disponible en la versión actual de lodash 4.17.2.

Ejemplo:

var objects = [{ ''x'': 1, ''y'': 2 }, { ''x'': 2, ''y'': 1 }, { ''x'': 1, ''y'': 2 }]; _.uniqWith(objects, _.isEqual); // => [{ ''x'': 1, ''y'': 2 }, { ''x'': 2, ''y'': 1 }]

Más información: https://lodash.com/docs/#uniqWith


Simplemente use _.uniqBy() . Crea una versión libre de duplicados de una matriz.

Esta es una nueva forma y está disponible desde la versión 4.0.0.

_.uniqBy(data, ''id'');

o

_.uniqBy(data, obj => obj.id);


También puede usar unionBy para 4.0.0 y posterior, de la siguiente manera: let uniques = _.unionBy (data, ''id'')


_.unique ya no funciona para la versión actual ya que lodash 4.0.0 tiene este cambio radical . El funcionalmente se dividió en _.uniq, _.sortedUniq, _.sortedUniqBy, y _.uniqBy

Podrías usar _.uniqBy ya sea por

_.uniqBy(data, function (e) { return e.id; });

o

_.uniqBy(data, ''id'');

Documentación: https://lodash.com/docs#uniqBy

Para versiones anteriores de lodash (<4.0.0)

Suponiendo que los datos deben ser únicos por id y sus datos están almacenados en data variable de data , puede usar la función unique() esta manera:

_.unique(data, function (e) { return e.id; });

O simplemente

_.uniq(data, ''id'');