当前位置: 首页 > 知识库问答 >
问题:

节点控制台。日志/实用程序。检查嵌套对象/数组[重复]

艾才良
2023-03-14

用于嵌套对象或数组

var obj = {
  foo:
  {
    foo:
    {
      foo:
      {
        foo:
        {
          foo:
          {
            foo: 'foo'
          }
        }
      }
    }
  }
};
console.log(obj);
util.debug(obj);
util.debug(util.inspect(obj));

控制台.logutil.debug.util.inspect

{ foo: { foo: { foo: [Object] } } }
DEBUG: [object Object]
DEBUG: { foo: { foo: { foo: [Object] } } }

在一定深度下,它只显示[对象],没有进一步的细节。

这在调试时总是很烦人,因为我无法调查实际值。

为什么节点(或V8)实现这样?和是否有任何解决方法?

谢谢

编辑:我收到了一个建议

console.log(JSON.stringify(obj));

结果呢

< code > { " foo ":{ " foo ":{ " foo ":{ " foo ":{ " foo ":" foo " } } } }

它有点工作,但显然整个是字符串化的,可能我无法在调试时对所有对象输出执行此操作。不是通用方法。

第二版:

解决方案:

console.log(util.inspect(obj,{depth:null}))

输出:

{ 傻瓜: { 傻瓜: { 傻瓜: { 傻瓜: { 傻瓜: { 傻瓜: '傻瓜' } } } } } }

凉。这就是我想要的!


共有2个答案

景胜涝
2023-03-14
匿名用户

使用< code>JSON.stringify:

var obj = {
  foo:
  {
    foo:
    {
      foo:
      {
        foo:
        {
          foo:
          {
            foo: 'foo'
          }
        }
      }
    }
  }
};
console.log(JSON.stringify(obj));

结果:

{"foo":{"foo":{"foo":{"foo":{"foo":{"foo":"foo"}}}}}}

高云瀚
2023-03-14

util.inspect()接受第二个选项参数,您可以在其中指定深度。默认值为2。

http://nodejs.org/api/util.html#util_util_inspect_object_options

所以:

util = require('util');
var obj = { foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } };
console.log(util.inspect(obj, {depth:12}));

...收益 率:

{ foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } }
 类似资料:
  • 我有一个目标 当我做在我的节点控制台的输出如下 我希望输出如下 请帮我怎么做 我在Ubuntu 18.04中工作 我的nodejs版本是:v8。11.4

  • 本文向大家介绍C#控制台程序使用Log4net日志组件详解,包括了C#控制台程序使用Log4net日志组件详解的使用技巧和注意事项,需要的朋友参考一下 C#控制台程序使用Log4net日志组件,供大家参考,具体内容如下 1、Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例 项目源码在文章底部 2、首先创建一个控制台程序

  • 控制台的嵌套自执行函数java脚本引发错误。日志()https://jsfiddle.net/vivek7189/co5oeqcg/

  • 我想用flow注释以下内容: 我知道如何对进行类型检查,以使的类型为(如上所示),但如何对其属性进行类型检查? 已经尝试过这个: 但是flow只是抱怨从未使用过和。

  • 嘿,我想知道控制台中的输出是否可能与文件输出中的输出相同。 这是我的XML配置。 滚动文件中的输出 在控制台中为空。但是现在如果我改变 到"追踪" 将是2,4,6。。。。在控制台和我的文件中,它将是1,3,5,7。。。这很容易理解。 但是我的问题是,我们如何在控制台和文件中同时拥有相同的日志级(跟踪)输出?(添加包名称和级别的标签不起作用) 与此问题相关: log4j2 xml配置-登录到文件和控

  • 问题内容: 我的JSON数据如下所示: 给定文本“ foo”,我想返回所有具有此子字符串的元组。但是我不知道如何编写相同的查询。 我遵循了这个相关的答案,但不知道该怎么做。 这是我现在正在工作的内容: 我不想传递整个文本,而是传递并获得与该文本匹配的结果。 问题答案: 您的解决方案可以进一步简化: 或更简单一点,因为在此示例中,您实际上根本不需要行类型(): dbfiddle 在这里 但这 不是