給定一個物件陣列,如果你想要獲取屬性的值,但不包含重複的值,你可以這樣做。
假設你有一個 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))]
解釋
Set 是 JavaScript 在 ES6 中新增的一種資料結構,它是一個包含唯一值的集合。我們將使用 map()
獲取的屬性值列表放入其中,這將返回以下陣列:
['Electricity', 'Gas', 'Electricity']
通過 Set,我們將刪除重複的值。
...
是 展開運算子,將展開 Set 中的值到一個陣列中。