Advanced Typescript
Javascript/Structure de données/Les Tableaux

reduce

La méthode reduce applique une fonction qui est un « accumulateur » et qui traite chaque valeur d'une liste (de la gauche vers la droite) afin de la réduire à une seule valeur.

const myArray = [5, 4, 3, 2, 1]

myArray.reduce(function(accumulator, currentElement, index) {
  return accumulator + currentElement
}, 0)

// this will return the following result
15

Quelques exemples d'application

Grouper des données

const characters = [
  { name: 'Jean-Luc Picard', age: 59 },
  { name: 'Will Riker', age: 29 },
  { name: 'Deanna Troi', age: 29 }
];
characters.reduce((acc, curr) => {
  if (acc[curr.age]) {
    acc[curr.age] += 1
  } else {
    acc[curr.age] = 1
  }
  return acc
}, {})

// {29: 2, 59: 1}