J'essaie de rafraîchir mon Javascript. J'essaie de comprendre comment cette solution fonctionne complètement. Il additionne tous les tableaux, donc retourne [1, 4, 7], mais je veux vraiment comprendre chaque partie de celui-ci. Si quelqu'un souhaite aider, je vous en serais très reconnaissant, merci.

var array = [
  [1],
  [2, 1, 1],
  [3, 4]
];

let m = array.map(function(item) {

  return item.reduce(function(acc, curr) {
    acc += curr;
    return acc;
  }, 0)
})

console.log(m)
-5
devcoder 4 nov. 2019 à 01:06

1 réponse

Chaque sous-tableau du tableau est mappé à la somme de ses éléments, via la fonction Array.prototype.map(). Array.prototype.reduce() un moyen fonctionnel de réduire un tableau à une seule valeur (dans ce cas, la somme).

var array = [
  [1],
  [2, 1, 1],
  [3, 4]
];
// map each sub-array in the array to a new value
let m = array.map(function(item) {

  // for each element in the sub-array, add it to the accumulator (acc)
  return item.reduce(function(acc, curr) { 
    acc += curr;
    return acc;
  }, 0) // initialize acc = 0
})

console.log(m)

Référence Array.prototype.map ()

Référence Array.prototype.reduce ()

-1
mario_sunny 3 nov. 2019 à 22:10