[英]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.