0

这可能已经回答了,但我确实搜索过。

在 .js 文件中:

console.log({
  a: 1,
  b: { c: 1},
  d: [{e:1},{f:1}],
  g: [{h:[1,2,3]}]
});

这是实际打印的内容:

{ a: 1,
  b: { c: 1 },
  d: [ { e: 1 }, { f: 1 } ],
  g: [ { h: [Object] } ]
}

注意'h'值,我可以打印吗?

4

3 回答 3

1
  1. 阅读util.inspect()的文档

    它允许您指定打印深度: The default is to only recurse twice. To make it recurse indefinitely, pass in null for depth.

    要使用它,您可以致电console.log(util.inspect(yourObj, true, null));

  2. console.dir()说它使用util.inspect(),但不显示修改inspect()调用的参数,所以它也可能只会递归两次。

于 2012-11-14T20:04:41.930 回答
1

你可以用for loop 它来迭代它..

var obj = {
    a: 1,
    b: {c: 1},
    d: [{e: 1}, { f: 1}],
    g: [{  h: [1, 2, 3]}]
};

var data = obj.g[0].h ;

for(var i =0; i <data.length ; i++){
    console.log(data[i])
}​

检查小提琴

于 2012-11-14T18:02:45.590 回答
1

我已经用JSON.stringify()它来实现了,可以用参数来确定格式。

如上所述,util.inspect()也有效。

于 2012-11-14T20:38:25.407 回答