咨询JavaScript嵌套数组中元素13、14的正确访问方式
嵌套数组元素访问解析
先看你提供的数组代码:
const arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14] ];
数组层级拆解
这个数组是多层嵌套结构,我们按索引从0开始逐层拆解:
- 最外层
arr有4个元素,索引0到3:arr[0]=[1, 2, 3](第一层子数组)arr[1]=[4, 5, 6](第一层子数组)arr[2]=[7, 8, 9](第一层子数组)arr[3]=[[10, 11, 12], 13, 14](第一层子数组,内部又嵌套了数组和数值)
- 再看
arr[3]这个子数组,它也有3个元素,索引0到2:arr[3][0]=[10, 11, 12](第二层子数组)arr[3][1]=13(直接是数值,不是数组)arr[3][2]=14(直接是数值,不是数组)
13和14的正确访问方式
- 访问值13:
arr[3][1] - 访问值14:
arr[3][2]
为什么不需要arr[3][1][0]?
你提到的arr[3][1][0]是错误的,因为arr[3][1]本身就是数值13,不是数组。只有当元素是数组时,才能继续用索引访问下一层。如果对非数组元素加索引,会抛出TypeError: Cannot read properties of undefined (reading '0')之类的错误。
数组核心工作原理
- 数组的索引从0开始计数,每个位置可以存放任意类型的数据(包括数组、对象、数值、字符串等)
- 嵌套数组就是“数组里装数组”的结构,访问嵌套元素时,需要逐层用索引定位:先找最外层数组的目标元素索引,再找该元素(如果是数组)的下一层索引,直到找到最终的目标值
- 如果某一层的元素不是数组,就不能继续使用索引访问,否则会报错
内容的提问来源于stack exchange,提问作者muhffinman
相关产品推荐
相关产品推荐

