У меня есть массив, который я хочу отфильтровать с другим массивом.Моя цель - отфильтровать массив с двумя значениями, и я хочу, чтобы результат соответствовал только этим двум значениям.Это то, что у меня есть до сих пор:
const array = [
{
title: 'Title A',
someOtherProps: [
'AAA',
]
}, {
title: 'Title B',
someOtherProps: [
'AAA',
'BBB',
]
}, {
title: 'Title C',
someOtherProps: [
'BBB',
'CCC'
]
}, {
title: 'Title D',
someOtherProps: [
'BBB',
]
}, {
title: 'Title E',
someOtherProps: [
'CCC'
]
},
]
const filter = [
'AAA',
'BBB',
]
let result = array.filter(obj => obj.someOtherProps.some(props => filter.includes(props)))
console.log(result);
Итак, в моем результате есть объекты с моим отфильтрованным значением.
// My Result
{
title: 'Title A'
someOtherProps: [
'AAA',
]
}, {
title: 'Title B'
someOtherProps: [
'AAA',
'BBB',
]
}, {
title: 'Title C'
someOtherProps: [
'BBB',
'CCC'
]
}, {
title: 'Title D'
someOtherProps: [
'BBB',
]
}
Пока все хорошо.Но мне не нужны все объекты, которые имеют одно из значений.Мне нужен объект, в котором объединены именно эти два значения.
// Wanted Result
{
title: 'Title B'
someOtherProps: [
'AAA',
'BBB',
]
}
Я не могу найти способ.Я знаю, как получить разницу двух массивов.Но мне нужна разница двух значений, если вы понимаете, о чем я.