简化JavaScript中的嵌套循环

问题描述

我想在javascript中简化我的嵌套foreach,但不确定如何处理

这就是我所拥有的:

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

您能帮忙吗?

解决方法

您可以使用回调缩小数组并映射值。

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