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

运行JS嵌套循环计算数组元素乘积时浏览器卡顿甚至崩溃是什么原因?

代码问题分析

  • 语法错误:Let 是错误写法,JavaScript 中声明变量的关键字为小写的let,大写会触发未定义标识符报错。
  • 死循环核心原因:内层 for 循环的迭代逻辑错误,你写的j *= product中,product初始值为1,j初始值为0,0乘以任何数都为0,j永远满足j < arr[i].length的条件,循环永远不会终止,导致浏览器卡死。
  • 循环体语法错误:内层for循环末尾多了一个分号,会被识别为循环体为空,就算迭代逻辑正常,后续的计算逻辑也不会被循环执行。
  • 逻辑缺失:代码中没有写乘积计算的逻辑,哪怕循环能正常执行,最终返回的product永远是初始值1,无法得到正确结果。

修正后代码

function multiplyAll(arr){ 
    let product = 1;
    for(let i = 0; i < arr.length; i++){
        for(let j = 0; j < arr[i].length; j++){
            product *= arr[i][j];
        }
    }
    return product;
}

multiplyAll([[1], [2], [3]]); // 运行返回结果为6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:54:02