Simplifier les boucles imbriquées en javascript

Oct 17 2020

Je voudrais simplifier mon foreach imbriqué dans une carte en javascript, mais je ne savais pas comment l'aborder

voici ce que j'ai:

var items = [1, 2, 3];
var callbacks = [function() { console.log('hi') }, function() { console.log('hi') }]

var result = items.map(item => {
  var intermediate = item;
  callbacks.forEach(callback => {
    intermediate = callback(intermediate);
  })
  return intermediate;
});
console.log(result);

êtes-vous en mesure d'aider les pls?

Réponses

3 NinaScholz Oct 17 2020 at 00:52

Vous pouvez réduire les tableaux avec les rappels et mapper les valeurs.

const
    items = [1, 2, 3],
    callbacks = [x => x + 1, x => 2 * x],
    result = items.map(item => callbacks.reduce((x, fn) => fn(x), item));

console.log(result);