2015-07-20 53 views
1

我已經到處找,我沒有注意到,在第一這個奇怪的相互作用,但是現在的我,我在codeacademy學習JavaScript和我陷進數組和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);