Simplificando bucles anidados en javascript

Oct 17 2020

Me gustaría simplificar mi foreach anidado dentro de un mapa en javascript, pero no estaba seguro de cómo abordarlo

Esto es lo que tengo:

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);

¿Puedes ayudar por favor?

Respuestas

3 NinaScholz Oct 17 2020 at 00:52

Puede reducir las matrices con las devoluciones de llamada y asignar los valores.

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);