2 回答

TA貢獻1853條經驗 獲得超18個贊
我有以下對象:
'1': {
id: 1,
...
tags: ['cat I', 'cat II']
},
'2': {
id: 2,
tags: ['cat II', 'cat III']
}
要獲得所有類別(但沒有重復),我執行以下操作:
const cats = [];
this.courses.forEach(data => (data.tags) ? cats.push(data.tags) : '');
return [...new Set(cats.flat())];
它有效,但我覺得這是“超越頂部”的方式。它也運行了兩次,因為它在計算屬性中。
有沒有更好的方法來區分和過濾類別。也許通過向商店查詢?

TA貢獻1811條經驗 獲得超5個贊
你做:
const courses = [{id: 1, tags: ['cat I', 'cat II ']}, {id: 2, tags: ['cat II', 'cat III']}, {id: 3}]
const tags = courses
.reduce((a, { tags = [] }) => [...a, ...tags], [])
.map(tag => tag.trim()) // <-- to remove extra spaces in "cat II "
const result = [...new Set(tags)]
console.log(result)
添加回答
舉報