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

JavaScript嵌套循环遍历二维数组逐个打印元素原理解析

二维数组嵌套循环遍历逻辑说明

listOfNeighbors是JavaScript中的二维数组:外层数组的每个元素本身也是数组,每个子数组对应一组邻国数据。
题解代码如下:

const listOfNeighbors = [['Canada', 'Mexico'], ['Spain'], ['Norway', 'Sweden', 'Russia']]

for (let i = 0; i < listOfNeighbors.length; i++) {
    for (let j = 0; j < listOfNeighbors[i].length; j++) {
        console.log(listOfNeighbors[i][j]);
    }
}

两层循环的分工明确:

  • 外层循环负责遍历外层的分组数组:循环变量i从0递增到外层数组长度减1,每一轮listOfNeighbors[i]取到的是对应位置的一整个邻国分组子数组。
  • 内层循环负责遍历当前轮次拿到的单个分组子数组:循环变量j从0递增到当前子数组的长度减1,每一轮通过listOfNeighbors[i][j]的双索引写法,直接取到子数组内部的单个国家字符串,再执行打印。

完整执行过程逐轮拆解:

  1. 外层i=0,对应子数组为['Canada', 'Mexico'],子数组长度为2
    • 内层j=0:取索引[0][0]的值Canada,打印
    • 内层j=1:取索引[0][1]的值Mexico,打印
    • 内层循环执行完毕,返回外层循环进入下一轮
  2. 外层i=1,对应子数组为['Spain'],子数组长度为1
    • 内层j=0:取索引[1][0]的值Spain,打印
    • 内层循环执行完毕,返回外层循环进入下一轮
  3. 外层i=2,对应子数组为['Norway', 'Sweden', 'Russia'],子数组长度为3
    • 内层j=0:取索引[2][0]的值Norway,打印
    • 内层j=1:取索引[2][1]的值Sweden,打印
    • 内层j=2:取索引[2][2]的值Russia,打印
    • 内层循环执行完毕,外层i递增到3,等于外层数组长度3,不满足循环判断条件,整个遍历结束

代码不会输出整组子数组的核心原因:打印语句传入的参数是带双索引的listOfNeighbors[i][j],指向的是子数组内部的单个字符串元素;如果要打印整组子数组,才需要传入仅带单层索引的listOfNeighbors[i]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:00:17