我试图找出一个问题,我需要在数组中查找所有数字的乘积。

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

我希望就为什么我的代码无法正常工作提出任何建议。谢谢!

function mutliplyAllElements(arr) {

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

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

最佳答案

由于函数mutliplyAllElements不返回任何内容,因此您未定义。您必须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]) );

10-02 16:33