Javascript reduce 不断返回 undefined

Javascript reduce keeps returning undefined

我正在尝试找出一个问题,我需要在其中找到数组中所有数字的乘积。

对于我的生活,我无法弄清楚为什么它总是返回未定义的。

我希望就我的代码为何无法运行提出任何建议。谢谢!

function mutliplyAllElements(arr) {

  arr.reduce(function(x, y) {
    return x * y;
  });
}

mutliplyAllElements([2, 3, 100]);  // 600

您未定义,因为函数 mutliplyAllElements 没有 return 任何东西。您必须 return 函数中的值。

function mutliplyAllElements(arr) {
  let val = arr.reduce(function(x, y) {
    return x * y;
  });
  return val;
}

console.log(mutliplyAllElements([2, 3, 100]));

或者您可以将其缩短为:

function mutliplyAllElements(arr) {
  return arr.reduce((x, y) => x * y);
}

console.log( mutliplyAllElements([2, 3, 100]) );