Skip to content

Data filtering

Tom van den Berg edited this page Nov 4, 2021 · 3 revisions

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.

Home 🏠

Data cleaning 🧽

Documentatie 👨🏻‍💻

Logboek 📒

Notities 📝

Evaluatie 💭

Clone this wiki locally