为什么console.table在深度级别2上仅打印使用toString有限的元素

问题描述

以下js脚本的输出如果包含两个以上元素,则不会输出toString()版本的对象。

let printMe_1 = [{
    "A": "a","F": {
        "J": "j","K": "k","L" : "l"
    },"G": {
        "J": "j",}
}]

console.table(printMe_1);

控制台输出

enter image description here

这是对文档的引用:https://developer.mozilla.org/en-US/docs/Web/API/Console/table

解决方法

您的代码在Firefox 81.0浏览器控制台中可以正常工作。 F的所有级别都会显示。

console.table Firefox 81.0

在Chrome 85.0和Edge Chromium 85.0中,该表未列出条目,但无论如何该对象都会单独打印。

console.table Chrome 85.0 / Edge Chromium 85.0

由于您已正确捕获,节点14.5不打印它。

console.table Node 14.5

根据@asawyer's comment,这似乎留给了浏览器/节点的实现。

或者,您可以尝试JSON.stringify()console.dir with depth option