У меня есть вопрос о фильтрации с ES6:
У меня есть некоторые данные, которые мне нужно отфильтровать с другими объектами
Мои данные:
let data = [
{
id: 1,
names: ['A', 'B']
},
{
id: 2,
names: ['C']
}
]
Iесть другой объект как:
let nameValues = [
{
name: 'A',
selected: false
},
{
name: 'B',
selected: true
},
{
name: 'C',
selected: false
},
{
name: 'D',
selected: true
}
]
Сначала я получаю selected == true
элементов в selectedNames
с:
let selectedNames = nameValues.filter(function(item) {
return item.selected
})
, и я получаю результат:
selectedNames = [
{
name: 'A',
selected: true
},
{
name: 'D',
selected: true
}
]
и мне нужно сравнить его с data
, получая предметы в data
, где item.names
содержит selectedNames
.
Мне не нужно точное совпадение - мне нужны элементы в объекте данных, которые имеют в своих именах массив мои значения selectedNames
object name
:
В этом случае мне нужнополучить, как этот результат моего объекта данных:
Здесь элемент не соответствует 100% с моим selectedNames
, но у него есть одно из этих значений, которое я ищу
let data = [
{
id: 1,
names: ['A', 'B']
},
]
Каксделать это с es6?