javascript - 在 Javascript 中结合 Reduce 和 Map 数据结构?

标签 javascript reduce

我正在尝试对 Javascript 对象数组使用缩减模式。但是,我不想在单个 reducer 中执行此操作,而是希望能够根据为数组中的每个项目设置的条件使用不同的 reducer。所以,它看起来像下面这样。

const FOO_MAP = new Map([
  ["Foo1", Bar1],
  ["Foo2", Bar2]]
);

function calcTotal(values) {
  if(values == null) return 0;
  return values.reduce(FOO_MAP.get(value.field));
}

function Bar1(previous, curr){...}
function Bar2(previous, curr){...}

这可能吗?谢谢!

最佳答案

你好像在找

values.reduce((acc, el, i) => FOO_MAP.get(el.field)(acc, el, i), 0);

关于javascript - 在 Javascript 中结合 Reduce 和 Map 数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601635/

相关文章:

javascript - 如何使用 Ajax 和 Servlet 上传文件

javascript - 使用指令时未定义 ngModel - Angularjs Controller

javascript - 需要帮助将一些 JavaScript 代码添加到我的 wordpress 主题中

scala - RDD中是否有任何 Action 保持顺序?

javascript - 如何提前中断 reduce() 方法?

javascript - 如何使用键数组从 Javascript 对象中获取值

javascript - 如何使用 javascript/jquery 获取第一个 json 元素处 json 数组中所有键的值

javascript - 以下代码获得预期结果的更好方法

c - 有什么办法可以简化这个语句吗?

Python:减少(字符串列表)-> 字符串