2015-06-07 4 views
0

Эй, ребята, я в JavaScript developer..I имеет многомерный массив ..Извлечение два значения из второго внутреннего массива

Моя структура массив выглядит

var m = [[1,23,4],[4544,34,54],[6,7,68]] 

Что я хочу, чтобы отобразить это 4544 and 34 из один код (не нарезая или замены)

Мой код

var m = [[1,23,4],[4544,34,54],[6,7,68]] 
for(i=0;i<2;i++) { 
for(j=0;j<2;j++) { 
console.log(m[i][j]); 
} 
} 

Этот код выводит меня 1,23,4544 and 34.

Выход мне нужно это 4544 and 34 ..

спасибо ..

+1

'м [1] [0] и' м [1] [1] '? – adeneo

+1

Почему вы не делаете 'm [1] [0]' и 'm [1] [1]'? – thefourtheye

+0

Я знаю, что путь .. но разве нет какой-либо опции, зацикливая? –

ответ

3

Там нет необходимости для первого цикла для вас есть, но второй может работать, даже если это не является необходимым. С петлей вы можете сделать

var m = [[1,23,4],[4544,34,54],[6,7,68]]; 
for(i=0;i<2;i++) { 
    console.log(m[1][i]); 
} 

Это будет просто напечатать первые два элемента из второго массива внутри m массива. Вы также можете сделать это легко и без петли, как этот

var m = [[1,23,4],[4544,34,54],[6,7,68]]; 
console.log(m[1][0]); 
console.log(m[1][1]); 

Они оба относительно короткие и оба они производят результат

4544 
34 

Что не так с текущим кодом у вас есть

var m = [[1,23,4],[4544,34,54],[6,7,68]] 
for(i=0;i<2;i++) { 
    for(j=0;j<2;j++) { 
     console.log(m[i][j]); 
    } 
} 

С вашим первым циклом вы фактически выполняете итерацию через первые два вложенных массива, которые у вас есть. Затем вы перебираете первые два элемента в каждом из них. Вот почему вы получите результат

1 
23 
4544 
34 

Так как вам нужно только элементы во втором вложенном массиве, нет никаких причин, чтобы иметь вторую петлю. Конечно, вы могли бы сделать

var m = [[1,23,4],[4544,34,54],[6,7,68]] 
for(i=1;i<2;i++) { 
    for(j=0;j<2;j++) { 
     console.log(m[i][j]); 
    } 
} 

но это было бы бессмысленно.

0

Вы могли держать первый индекс фиксированной и только петля на второй индекс

var j, i=1 
for (j=0;j<2;++j) { 
    console.log(m[i][j]) 
} 
0
var m = [[1,23,4],[4544,34,54],[6,7,68]] 

for(j=0;j<2;j++) { 
console.log(m[1][j]); 
} 
Смежные вопросы