2015-07-20 1 views
1

Я искал везде, я не заметил это странное взаимодействие на первый, но теперь я, я учусь JavaScript в codeacademy и я застрял в Массивы и объекты в JavaScript, когда я делаю это:Как отображать многомерный массив Javascript в табличном формате в консоли?

var newArray = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]; 
console.log(newArray) 

Он регистрирует код как в той же строке, а не имеет 3 строки и 3 столбца, как это задает упражнение, однако оно позволяет мне передать его, я искал на их форумах, и есть пользователи, просящие то же самое без ответа, Я пробовал возможные исправления, такие как сброс браузера и даже изменение браузера.

+0

вы ожидаете консоли записать его на три строки? У меня такое чувство, что упражнение требует чего-то другого. – epascarello

+0

Да, по крайней мере, это то, что сказал мне пример упражнений ... – Darkly

ответ

1

Попробуйте console.table().

var newArray = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]; 
console.table(newArray); 

Вот хороший список всех консольных команд, доступных для дальнейшего использования: https://developer.mozilla.org/en/docs/Web/API/console

Это то, что это будет выглядеть в Firefox (будет выглядеть в других браузерах).

enter image description here

+1

Это не будет работать с консолью node.js. –

+0

, к сожалению, это правда, он не работает на консоли, я думаю, они заставляют меня делать это вручную, чтобы потом они могли научить меня чему-то другому. (Это недостаток дизайна, поскольку он заставлял меня искать ответ за 1 час ...), я по-прежнему буду оценивать ваши, как наиболее полезные для команды таблицы. – Darkly

-1

Это нормально и даже может отличаться от браузера в браузере, так как нет спецификации относительно того, как вывод console.log должен быть отформатирован.

Вы можете написать:

var newArray = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]; 
console.log(newArray[0]); 
console.log(newArray[1]); 
console.log(newArray[2]); 
console.log(newArray[3]); 

Это выведет отдельные "подмассива" на отдельных строках.

+0

О, я понял, он принимает мой ответ, потому что «многомерный» массив правильный, но консольный журнал не должен делать это, а вместо этого , спасибо, я не понимал, почему это позволяло мне проходить, не выполняя то, что предназначалось упражнением. – Darkly

0

Попробуйте console.table (newArray) вместо того, чтобы, если вы используете Chrome.

В противном случае console.dir (newArray) может немного улучшить ситуацию.

0

Вы также можете использовать пользовательский регистратор:

var newArray = [[1,1,1], [1,1,1], [1,1,1]]; 

var logArrayOfArrays = function(array){ 
    var length = array.length; 
    for(var i = 0; i < length ; i++){ 
     console.log(array[i]); 
    } 
} 

logArrayOfArrays(newArray); 
Смежные вопросы