Мне нужен массив фильтров по bookmakers.key === 'bovada'. Мне нужны данные об этом. Этот вопрос важен для меня при изучении массивов.
const array = [
{
"id": "9ee1340b779938f9a7f829f22d41534d",
"sport_key": "soccer_argentina_primera_division",
"sport_title": "Primera División - Argentina",
"commence_time": "2023-03-30T23:00:00Z",
"home_team": "Defensa y Justicia",
"away_team": "Velez Sarsfield BA",
"bookmakers": [
{
"key": "foxbet",
"title": "FOX Bet",
"last_update": "2023-03-30T14:01:13Z",
"markets": [
{
"key": "h2h",
"last_update": "2023-03-30T14:01:13Z",
"outcomes": [
{
"name": "Argentinos Juniors",
"price": 1.74
},
{
"name": "Godoy Cruz",
"price": 5.4
},
{
"name": "Draw",
"price": 3.25
}
]
}
]
},
{
"key": "bovada",
"title": "Bovada",
"last_update": "2023-03-30T13:58:23Z",
"markets": [
{
"key": "h2h",
"last_update": "2023-03-30T13:58:23Z",
"outcomes": [
{
"name": "Argentinos Juniors",
"price": 1.74
},
{
"name": "Godoy Cruz",
"price": 5.4
},
{
"name": "Draw",
"price": 3.25
}
]
}
]
}
]
},
{
"id": "6253cf45de6b5050c44505812e12f5fd",
"sport_key": "soccer_argentina_primera_division",
"sport_title": "Primera División - Argentina",
"commence_time": "2023-03-31T00:30:00Z",
"home_team": "Argentinos Juniors",
"away_team": "Godoy Cruz",
"bookmakers": [
{
"key": "foxbet",
"title": "FOX Bet",
"last_update": "2023-03-30T14:01:13Z",
"markets": [
{
"key": "h2h",
"last_update": "2023-03-30T14:01:13Z",
"outcomes": [
{
"name": "Argentinos Juniors",
"price": 1.74
},
{
"name": "Godoy Cruz",
"price": 5.4
},
{
"name": "Draw",
"price": 3.25
}
]
}
]
},
{
"key": "bovada",
"title": "Bovada",
"last_update": "2023-03-30T13:58:23Z",
"markets": [
{
"key": "h2h",
"last_update": "2023-03-30T13:58:23Z",
"outcomes": [
{
"name": "Argentinos Juniors",
"price": 1.74
},
{
"name": "Godoy Cruz",
"price": 5.4
},
{
"name": "Draw",
"price": 3.25
}
]
},
{
"key": "spreads",
"last_update": "2023-03-30T13:58:23Z",
"outcomes": [
{
"name": "Argentinos Juniors",
"price": 1.95,
"point": -0.75
},
{
"name": "Godoy Cruz",
"price": 1.87,
"point": 0.75
}
]
}
]
}
]
},
]
Я ожидал получить массив без информации о foxbet. Я могу фильтровать только простые массивы. Я не могу отфильтровать этот массив уже два дня...
Я пробовал array.filter(i => i.bookmakers.filter(k => k.key === "bovada")), но нет.
@AndrewParks, вы не можете назвать это дубликатом закрытого вопроса; это никому не помогает.
@Rojo, это точно такой же вопрос, скопированный и вставленный снова, без указания причины, по которой исходный вопрос был закрыт.
Вы должны i.bookmakers — это массив; вы должны индексировать этот массив в своей функции фильтра
@AndrewParks Теперь я вижу



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


const result = array.filter((arr) => {
let newBookmaker = arr.bookmakers.filter(
(bookmaker) => bookmaker.key == "bovada"
);
if (newBookmaker.length > 0) {
arr.bookmakers = newBookmaker;
return arr;
}
});
Дубликат Как отфильтровать массив массивов по ключу?