Этот ответ уже близок , и есть несколько ответов, как получить уникальные значения в массиве (удалить дубликаты), хотя я не могу заставить его работать для случая, когда речь идет о массиве объектов, и свойство, которое должно быть отфильтровано, является массивом. Извините, я новичок в JS. Спасибо за помощь.
У меня есть массив таких объектов
const posts = [
post1: {
id: 1,
title: 'One',
tags: ['tagA', 'tagB']
},
post2: {
id: 2,
title: 'Two',
tags: ['tagB', 'tagC']
},
post3: {
id: 3,
title: 'Three',
tags: ['tagB', tagC, tagD]
]
Мне понадобится массив всех уникальных тегов ... в приведенном выше случае с ожидаемым выводом, подобным этому:
// [tagA, tagB, tagC, tagD]
РЕДАКТИРОВАТЬ / ОБНОВИТЬ
Ключ в массиве объектов используется для управления состоянием реагирующего компонента ... например,
constructor(props) {
super(props);
this.state = {
posts: []
};
}
...
updatePost = (key, updatedPost) => {
//1. Take copy of the current this.state.
const posts = {...this.state.texts};
//2. Update that state
posts[key] = updatedPost;
//3. Set that to state
const options = { encrypt: false }
putFile(postsFileName, JSON.stringify(posts), options)
.then(() => {
this.setState({
posts: posts
})
})
};