API Call code:
const settings = {
"async": true,
"crossDomain": true,
"url": "https://v3.football.api-sports.io/fixtures?date=2021-04-07",
"method": "GET",
"headers": {
"X-RapidAPI-Host": "v3.football.api-sports.io",
"X-RapidAPI-Key": "MY-API-KEY"
}
};
$.ajax(settings).done(function (response) { console.log(response)}); // Logs API Data, Need to Filter This
the format of the API data is:
response: Array(305) [ {…}, {…}, {…}, … ]
[0…99]
//FIRST ELEMENT
0: Object { fixture: {…}, league: {…}, teams: {…}, … }
fixture: Object { id: 812523, timezone: "UTC", date: "2022-05-13T00:00:00+00:00", … }
goals: Object { home: null, away: null }
league: Object { id: 395, name: "Divizia A", country: "Moldova", … }
score: Object { halftime: {…}, fulltime: {…}, extratime: {…}, … }
teams: Object { home: {…}, away: {…} }
<prototype>: Object { … }
//SECOND ELEMENT
1: Object { fixture: {…}, league: {…}, teams: {…}, … }
fixture: Object { id: 830985, referee: "H. Prado", timezone: "UTC", … }
goals: Object { home: 4, away: 0 }
league: Object { id: 344, name: "Primera División", country: "Bolivia", … }
score: Object { halftime: {…}, fulltime: {…}, extratime: {…}, … }
teams: Object { home: {…}, away: {…} }
<prototype>: Object { … }
only 0 and 1 are shown in the example but there are 305 elements.
The issue I am having is that I cannot filter those 305 in a for loop with by response[element].league.id (395 and 344 are two values above) because it wont work.
assuming I have an array of league ID's I want (ie. const arrWant=[395, 43, 308]), how do I go about filtering out the ones I don't want from the data? I am aware I must use filter() but am unsure how to do it. if someone could write a rough code or function it would be helpful.Picture of API Output
Use the includes()
method to test if the league ID in the response is in the arrWant
array.
Use dataType: 'json'
so that $.ajax()
will parse the JSON in the response.
const settings = {
"async": true,
"crossDomain": true,
"url": "https://v3.football.api-sports.io/fixtures?date=2021-04-07",
"method": "GET",
dataType: 'json',
"headers": {
"X-RapidAPI-Host": "v3.football.api-sports.io",
"X-RapidAPI-Key": "MY-API-KEY"
}
};
const arrWant=[395, 43, 308]
$.ajax(settings).done(function(data) {
console.log(data.response.filter(el => arrWant.includes(el.league.id)))
});