声明中带有索引的Javascript数组
我正在运行一个js代码,其中有一个数组的定义,我不明白它的意思,它看起来是这样的:声明中带有索引的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
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]]