You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决这段JavaScript乘法函数问题?预期结果需达5000+

问题排查与解决方案

错误原因

你的代码里存在拼写错误:两处数组长度属性都被写成了lenght,而JavaScript数组的长度属性正确名称是length。

当访问arr.lenght时,由于数组不存在该属性,会返回undefined。循环条件i < undefined会被转换为i < NaN,结果为false,导致外层循环直接跳过,product始终保持初始值1,自然得不到预期的5000+结果。

修正后的代码

function multiplyAll(arr) {
  var product = 1;

  for (var i = 0; i < arr.length; i++) {
    for (var j = 0; j < arr[i].length; j++) {
      product *= arr[i][j];
    }
  }

  return product;
}

var product = multiplyAll([[1,2], [3,4],[5,6,7]]);
console.log(product); // 输出 5040

验证结果

修正后运行代码,会计算1*2*3*4*5*6*7 = 5040,完全符合你预期的5000+结果。

内容的提问来源于stack exchange,提问作者spython

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:30:00