第二级javascript数组中的索引0

时间:2016-06-02 02:27:14

标签: javascript arrays multidimensional-array

如果此级别长度等于undefined,我可以知道为什么如果多维javascript数组中的第二级条目返回1示例:

arr = Array(
  Array(1) 
)

以下将返回这个不太可能的结果:undefined,而它假设为1(或者至少是我期望的结果)

console.log(arr[0][0])

但是当我不仅仅是那个级别(length>1)的记录时,就像:

arr = Array(
  Array(1,2) 
)

然后尝试:console.log(arr[0][0]),这次返回1 对此问题的任何解释或为什么会发生这种情况将不胜感激 感谢

2 个答案:

答案 0 :(得分:0)

您应该参考documentation of the Array constructor

  

<强> arrayLength
  如果传递给Array构造函数的唯一参数是0到232-1(含)之间的整数,则返回一个新的JavaScript数组,length设置为该数字。

Array(1)不会创建包含元素1的数组,它会创建一个 length 1的数组,其中包含一个元素:{{1 }}

要使用不太模糊的构造函数,请使用数组文字:

undefined

这是一个包含一个数组的数组,其中包含值[[1]]

答案 1 :(得分:0)

数组语法

1

来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

的语法部分

看起来如果Array的值是一个整数,那么它被解释为长度,否则它被解释为内容

这就是为什么你在第一个案例中有一个空的二维数组...

希望这有助于...欢呼