2013-11-21 4 views
0

Я бегу код JS и в какой-то его части есть определение массива, который я не понимаю, что это значит, это выглядит следующим образом:
массив Javascript с индексом в декларации

var myArray = new Array(); 
myArray[myNum] = new Array(); 
myArray[myNum].push(value1); 

Я не понимаю, почему во второй строке есть индекс массива, является ли это двухмерным массивом? Буду признателен, если вы можете мне помочь.
thanks

ответ

5
var myArray = new Array(); 

Создает массив.

myArray[myNum] = new Array(); 

Создает массив в myNum индекса myArray «ы.

myArray[myNum].push(value1); 

Магазины valuea1 в массив (добавляет элемент в последней, в этом случае при 0 -го индекса), хранящегося в myArray[myNum].

Да, ваше предположение верно - после выполнения трех утверждений создается двумерный массив, который выглядит примерно так -

[....., [value1], ......] // the inner array is stored at "myNum" index 

Чтобы получить доступ value1, теперь вы можете сделать -

myArray[myNum][0]; 

См. doc for push.

1

Этот код просто создает массив с массивом по индексу 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. 
1

Позвольте мне объяснить код ....

Объяснение:

var myArray = new Array(); // (1) 
myArray[myNum] = new Array(); // (2) 
myArray[myNum].push(value1); // (3) 

(1) Это создает новый пустой массив. Это может быть 1D, 2D, 3D. В настоящее время у него ничего нет. На этом этапе вы массив должен выглядеть следующим образом ..

myArray= []; 

(2) Это создает еще один пустой массив в «туАггау» по индексу «тупит». Предположим, что myNum = 5;

Так

myArray[5] = new Array(); 

Даст

myArray =[[]]; 

(3) Это будет толкать value1 в туАггау по индексу "тупит".Давайте снова предположим, что myNum = 5 и значение 1 = 1,2,3;

Так

myArray[5].push(1,2,3); 

Даст

myArray=[[1,2,3]] 

DEMO IN A FIDDLE

Смежные вопросы