【发布时间】:2023-04-11 04:57:02
【问题描述】:
为什么console.table() 不适用于所有对象/数组?
有了一些数据,我在开发者控制台中得到了一个格式很好的表格。对于其他数据,我什么也得不到……甚至没有错误消息。
我刚刚在经历#Javascript30 的挑战时了解了console.table()。演示者在部分输出中使用了console.table(),但不是全部,他没有解释原因。我尝试将它用于所有(数组或对象)输出并看到为什么......它不起作用。
这是一个不起作用的例子。
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
const transportation = data.reduce((counters, item) => {
if (!counters[item]) counters[item] = 0;
counters[item]++;
return counters;
}, {});
console.log('transportation table');
console.table(transportation);
console.log('transportation log');
console.log(transportation);
<h1>Look at the console!</h1>
我预计 console.table() 会返回如下内容:
...除了 (index) 列将包含汽车、卡车、自行车等,而 Values 列将包含计数。
更新
显然console.table() 不适用于 SO 的代码 sn-ps... 在这种情况下,这意味着它与在浏览器上的工作方式完全相同:P 所以,我在 CodePen 发布了一个问题示例: http://codepen.io/VAggrippino/pen/qRraEP
这是第 4 个挑战,Array Cardio 1 给你们这些追随者。
我意识到这并不是严格意义上的编程/JavaScript 问题,因为控制台是浏览器的功能,而不是语言或 DOM。我相信它是相关的,因为浏览器是所有 Web 开发人员都使用的基本工具,并且每个主流浏览器都支持它。
【问题讨论】:
-
顺便说一下,
console.table在 sn-ps 中不起作用。见meta.stackoverflow.com/questions/340915/…。 -
@torazaburo 在这种情况下,对于我的具体示例,它的工作方式与 Chrome 中的工作方式完全相同:D
标签: javascript browser