我運行一個JS代碼,並在它的某些部分指標有一個數組的定義,我不明白這是什麼意思,它看起來像這樣:
Javascript數組在聲明
var myArray = new Array();
myArray[myNum] = new Array();
myArray[myNum].push(value1);
我不明白爲什麼在第二行有數組的索引,它是二維數組嗎?如果你能幫助我,我會很感激。
謝謝
我運行一個JS代碼,並在它的某些部分指標有一個數組的定義,我不明白這是什麼意思,它看起來像這樣:
Javascript數組在聲明
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
到陣列(在最後添加元素,在這種情況下,在第0
索引)存儲在myArray[myNum]
。
是的,你的假設是正確的 - 一個二維數組創建的三個語句的執行,這看起來是這樣的後 -
[....., [value1], ......] // the inner array is stored at "myNum" index
要訪問value1
,你現在可以做的 -
myArray[myNum][0];
查看doc for push。
此代碼只是在索引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[5] = new Array();
會給
myArray =[[]];
(3)這將推動值1到myArray的索引「myNum的」。讓我們再次假設myNum = 5和value1 = 1,2,3;
所以
myArray[5].push(1,2,3);
會給
myArray=[[1,2,3]]