Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
声明中带有索引的Javascript数组_Javascript_Arrays - Fatal编程技术网

声明中带有索引的Javascript数组

声明中带有索引的Javascript数组,javascript,arrays,Javascript,Arrays,我正在运行一个js代码,其中有一个数组的定义,我不明白它的意思,它看起来是这样的: var myArray = new Array(); myArray[myNum] = new Array(); myArray[myNum].push(value1); 我不明白为什么在第二行有一个数组的索引,它是二维数组吗?如果你能帮我,我将不胜感激谢谢 var myArray = new Array(); 创建一个数组 myArray[myNum] = new Array(); 在myArray的my

我正在运行一个js代码,其中有一个数组的定义,我不明白它的意思,它看起来是这样的:

var myArray = new Array();
myArray[myNum] = new Array();
myArray[myNum].push(value1);
我不明白为什么在第二行有一个数组的索引,它是二维数组吗?如果你能帮我,我将不胜感激
谢谢

var myArray = new Array();
创建一个数组

myArray[myNum] = new Array();
myArray
myNum
索引中创建数组

myArray[myNum].push(value1);
valuea1
存储到存储在
myArray[myNum]
中的数组中(在本例中,在
0
-th索引处添加最后一个元素)

是的,你的假设是正确的-在执行三条语句之后,创建了一个二维数组,看起来像这样-

[....., [value1], ......]  // the inner array is stored at "myNum" index
要访问
value1
,您现在可以执行以下操作-

myArray[myNum][0];

请参阅。

此代码仅在索引
myNum
处创建一个数组。让我们把代码分解一下

var myArray = new Array();
//Create a new array
myArray[myNum] = new Array();
//At index 'myNum' which is a variable presumably holding an index - create a new array
myArray[myNum].push(value1);
//push variable `value1` to the new array at index myNum of myArray.

让我试着解释一下你的代码

说明:

var myArray = new Array();   // (1)
myArray[myNum] = new Array();  // (2)
myArray[myNum].push(value1);  // (3)
(1)这将创建一个新的空数组。它可以是1D、2D、3D。目前它什么都没有。此时,数组应该如下所示

myArray= [];
(2)这将在索引“myNum”处的“myArray”中创建另一个空数组。假设myNum=5

所以

将给予

myArray =[[]];
myArray=[[1,2,3]]
(3)这将把值1推入索引“myNum”处的myArray中。让我们再次假设myNum=5,value1=1,2,3

所以

将给予

myArray =[[]];
myArray=[[1,2,3]]