我试图理解JavaScript中二维数组的来龙去脉。在调试时,我注意到使用console.log()和document.write()输出时值的差异。
我知道我应该使用console.log(),但似乎我只能得到document.write()来输出我期待的内容。
var x = [];
for (var i = 0; i < 5; i++) {
x[i] = new Array(1);
}
x[0][0] = "A";
x[0][1] = "Apple";
x[1][0] = "B";
x[1][1] = "Banana";
x[2][0] = "C";
x[2][1] = "Cumquats";
x[3][0] = "D";
x[3][1] = "Dewberry";
x[4][0] = "E";
x[4][1] = "Elderberry";
document.write(x);
console.log(x);
我从 document.write(x):
中看到以下内容A,Apple,B,Banana,C,Cumquats,D,Dewberry,E,Elderberry
我从 console.log(x):
中看到以下内容[Array[2], Array[2], Array[2], Array[2], Array[2]]
答案 0 :(得分:1)
根据我的理解,控制台根据浏览器的供应商而有所不同。登录Firefox会产生与Chrome不同的结果。 Document.write是一种Javascript方法,在所有浏览器中都有一定的实现,比如trim()或任何其他方法。
因为log()用于开发目的,所以输出数据无关紧要,只要它对开发人员有用。
答案 1 :(得分:1)
答案非常简单:Chrome最小化阵列,每个阵列都有一个包含两个项目的阵列。点击它以显示内容。