Cómo obtener las propiedades únicas de un conjunto de objetos en una matriz de JavaScript

Dada una matriz de objetos, esto es lo que puede hacer si desea obtener los valores de una propiedad, pero no duplicados.

Suponga que tiene una matriz de facturas con este contenido:

const bills = [
  { date: '2018-01-20', amount: '220', category: 'Electricity' },
  { date: '2018-01-20', amount: '20', category: 'Gas' },
  { date: '2018-02-20', amount: '120', category: 'Electricity' }
]

y desea extraer los valores únicos de lacategoryatributo de cada elemento de la matriz.

Esto es lo que puede hacer:

const categories = [...new Set(bills.map(bill => bill.category))]

Explicación

Colocares una nueva estructura de datos en la que se incorporó JavaScriptES6. Es una colección de valores únicos. Ponemos en eso la lista de valores de propiedad que obtenemos al usarmap(), que cómo lo usamos devolverá esta matriz:

['Electricity', 'Gas', 'Electricity']

Pasando por Set, eliminaremos los duplicados.

...es eloperador de propagación, que expandirá los valores establecidos en una matriz.


Más tutoriales de js: