繁体   English   中英

函数返回对象的 Console.log

[英]Console.log of function returning object

所以我有一个函数返回一个对象,该对象具有一个对象作为值。 我需要 console.log 函数的结果,但是我得到的是这样的:

 testedDatalayer: {
    event: 'mkt_pageInformation',
    eventDetails: { page: [Object], pagePath: '/' }
  }

我需要正常显示值而不是 [Object]。 我知道我可以将它字符串化,但是我真的想将它保留为一个对象而不是字符串并使其看起来像这样:

 expectedDataLayer: {
    event: 'mkt_pageInformation',
    page: { type: 'xxx', category: 'xxxx' },
    pagePath: 'xxxxx'
  },

有没有什么方法可以在不需要 strinfigy 的情况下保持该结构和控制台记录该功能?

编辑:在 node.js 上执行并登录到 cmd

你可以试试console.dir()而不是console.log()

如果你使用 Node,你可以尝试使用 util.inspect:

const inspect = require('util').inspect;
console.log(inspect(yourObject,{depth: Infinity}));

有关更多信息,您可以在以下位置查看 nodejs 文档:

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

您可以使用JSON.stringify()第三个参数将其格式化为对象结构以漂亮地打印对象。

 var objectToLog = { expectedDataLayer: { event: 'mkt_pageInformation', details: { page: { type: 'xxx', category: 'xxxx' } }, pagePath: 'xxxxx' } } console.log(JSON.stringify(objectToLog,null,4));

您可以将对象分配给变量并在对象中使用 for 循环进行打印。

 var objectToLog = { expectedDataLayer: { event: 'mkt_pageInformation', details: { page: { type: 'xxx', category: 'xxxx' } }, pagePath: 'xxxxx' } } for (const key in objectToLog) { console.log(key, objectToLog[key]) }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM