-
Notifications
You must be signed in to change notification settings - Fork 0
Data filtering
De data die ik uit de API krijg is enorm. Een klein deel van die data is:
{
count: 10,
filters: { matchday: '10' },
competition: {
id: 2021,
area: { id: 2072, name: 'England' },
name: 'Premier League',
code: 'PL',
plan: 'TIER_ONE',
lastUpdated: '2021-04-17T02:20:14Z'
},
matches: [
{
id: 327270,
season: [Object],
utcDate: '2021-10-30T11:30:00Z',
status: 'FINISHED',
matchday: 10,
stage: 'REGULAR_SEASON',
group: null,
lastUpdated: '2021-11-04T08:20:31Z',
odds: [Object],
score: [Object],
homeTeam: [Object],
awayTeam: [Object],
referees: [Array]
},
{
id: 327264,
season: [Object],
utcDate: '2021-10-30T14:00:00Z',
status: 'FINISHED',
matchday: 10,
stage: 'REGULAR_SEASON',
group: null,
lastUpdated: '2021-11-04T08:20:31Z',
odds: [Object],
score: [Object],
homeTeam: [Object],
awayTeam: [Object],
referees: [Array]
},
{
id: 327267,
season: [Object],
utcDate: '2021-10-30T14:00:00Z',
status: 'FINISHED',
matchday: 10,
stage: 'REGULAR_SEASON',
group: null,
lastUpdated: '2021-11-04T08:20:31Z',
odds: [Object],
score: [Object],
homeTeam: [Object],
awayTeam: [Object],
referees: [Array]
},
{
id: 327268,
season: [Object],
utcDate: '2021-10-30T14:00:00Z',
status: 'FINISHED',
matchday: 10,
stage: 'REGULAR_SEASON',
group: null,
lastUpdated: '2021-11-04T08:20:31Z',
odds: [Object],
score: [Object],
homeTeam: [Object],
awayTeam: [Object],
referees: [Array]
}
]
}
Ik heb verschillende functies geschreven om de data die ik wil gebruiken uit de API te halen.
Een van die functies is:
axios(configScores)
.then((response) => {
matchDate = response.data.matches.map(item => item.utcDate) // mapping all match dates in new array
homeTeam = response.data.matches.map(item => item.homeTeam.name) // mapping all home teams in new array
awayTeam = response.data.matches.map(item => item.awayTeam.name) // mapping all away teams in new array
scoreHome = response.data.matches.map(item => item.score.fullTime.homeTeam) // mapping all home scores in new array
scoreAway = response.data.matches.map(item => item.score.fullTime.awayTeam) // mapping all away scores in new array
})
Hierbij haal ik via de axios package de API op die ik in configScores
geconfigureerd heb. Met matchDate = response.data.matches.map(item => item.utcDate)
map ik alle datums in een nieuwe lege array, die ik daarboven al gedeclareerd heb met let matchDate = []
.
Hetzelfde doe ik met de overige functies. Hiermee voeg ik de data die ik nodig heb in lege arrays, waardoor het voor mij overzichtelijker wordt.
Vervolgens is het tijd om de opgehaalde data schoon te maken. Dit proces leg ik verder uit op de pagina data cleaning.
Tom van den Berg | 500827055 | Functional-programming