Как отфильтровать объект в одном массиве, используя свойства в другом в JavaScript? - PullRequest
0 голосов
/ 02 октября 2018

Первый массив

const firstArray = [
{
   "value": "306",
   "label": "All"
},
{
   "value": "316",
   "label": "Tips"
},
{
   "value": "315",
   "label": "News"
},
{
   "value": "32",
   "label": "Jobs"
}]

Второй массив

const secondArray = [
{
   name: "name",
   description: "desc",
   image: "path_image",
   culture: [{
     name: "name",
     value: "32"
   }]
},
{
   name: "name",
   description: "desc",
   image: "path_image",
   culture: [{
     name: "name",
     value: "32"
   }]
}];

Попытка отфильтровать мой firstArray с сохранением только объекта сзначение, соответствующее 32.

Все еще изучает Javascript, и это в React Native Project.Они изменили некоторую информацию об API, и он работал, когда у меня было только: culture":"32"

Код:

let newOrigin = [...new Set(this.state.secondArray.map(product => product.culture))],
visibleOrigin = firstArray.filter(item => newOrigin.includes(item.value));

this.setState({ displayOrigin: visibleOrigin });

Как получить значение внутри массива культура .

Любой совет, любая помощь?Спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

Итак.Я нашел решение своей проблемы.Вот код:

_nameFunction = () => {
    let filteredSecondArray = [...new Set(this.state.secondArray.map(o => o.culture[0].value))];
    this.setState({
        firstArray: this.state.firstArray.filter(item => filteredSecondArray.includes(item.value))
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...