/

如何從 JavaScript 陣列中獲取一組物件的唯一屬性

如何從 JavaScript 陣列中獲取一組物件的唯一屬性

給定一個物件陣列,如果你想要獲取屬性的值,但不包含重複的值,你可以這樣做。

假設你有一個 bills 陣列,內容如下:

1
2
3
4
5
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 屬性的唯一值。

以下是你可以執行的操作:

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

解釋

Set 是 JavaScript 在 ES6 中新增的一種資料結構,它是一個包含唯一值的集合。我們將使用 map() 獲取的屬性值列表放入其中,這將返回以下陣列:

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

通過 Set,我們將刪除重複的值。

...展開運算子,將展開 Set 中的值到一個陣列中。

tags: [“JavaScript”, “array”, “Set”, “map”]