Упрощение вложенных циклов в javascript

Oct 17 2020

Я хотел бы упростить свой вложенный foreach внутри карты в javascript, но не знал, как к нему подойти

вот что у меня есть:

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

вы можете помочь пожалуйста?

Ответы

3 NinaScholz Oct 17 2020 at 00:52

Вы можете уменьшить массивы с помощью обратных вызовов и сопоставить значения.

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