如何获取JavaScript数组中一组对象的唯一属性

给定一个对象数组,如果要获取属性的值而不要重复,则可以执行以下操作。

假设您有一个具有以下内容的bills数组:

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' }
]

并且您想要提取的唯一值category数组中每个项目的属性。

您可以执行以下操作:

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

解释

是JavaScript引入的新数据结构ES6。它是唯一值的集合。我们将使用得到的属性值列表放入其中map(),我们使用它的方式将返回此数组:

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

通过Set,我们将删除重复项。

...是个点差算子,这会将设置值扩展到一个数组中。

免费下载我的JavaScript初学者手册


更多js教程: