【问题标题】:What does object object object mean?对象对象对象是什么意思?
【发布时间】:2022-01-06 13:10:10
【问题描述】:

我正在尝试制作日记,但无法正常工作。我正在尝试创建一个for 循环,将我撰写的帖子发布在主页上的数组中。我在应用程序文件和 ejs 文件之间建立了连接,因为当我将其登录到终端时会显示输入。我只是无法让它显示在主页上。我只想显示输入的标题,但我不断收到[object Object],[object Object],[object Object],我不明白为什么?

<h1>Home</h1>
<P> <%= startingContent %> </P>
<%- console.log(posts);-%>
<ul>
    
<% posts.forEach(function(post, i) { %>
 <li>Posts <%= posts %></li>
<% }); %> 
</ul>
const posts = [];

app.get("/", (req, res) => {
  res.render("home",{ startingContent: homeStartingContent , posts:posts});
  posts: [
{posts: posts},
{posts: posts}
  ]
  //console.log(posts);
});

【问题讨论】:

  • 这意味着您正在尝试将对象输出为字符串。尝试只输出字符串/数字对象的属性?
  • 好的,那么我如何调用我的可变帖子?我认为
  • “调用我的变量”是什么意思?
  • @danvid posts.posts 也可能是一个对象数组?

标签: javascript node.js ejs


【解决方案1】:

我猜你正在尝试将一个对象作为字符串输出。

为了打印出一个对象,您首先需要使用JSON.parse(myObject) 对其进行解析,然后您可以将其打印出来,它将变得可读,而不仅仅是[object Object]

如果您只想访问某个属性,您可以使用myObject.myPropertymyObject["myProperty"]

【讨论】:

  • 为什么OP需要解析一个JS对象?似乎您将对象与 JSON 混淆了
【解决方案2】:
    let x ={
        first:1,
        second:{
           third:3,
           fourth:[{
               fifth:4
           }],
           sixth:{
               seventh:5
           }
       },
        eighth:[1,2],
        ninth:[{
           tenth:10
       }]
}

console.log(x) // { first: 1, second: { third: 3, fourth: [ [Object] ],sixth: { seventh: 5 } }, eighth: [ 1, 2 ],ninth: [ { tenth: 10 } ] }

在 javascript 中的解析只能工作到 2 级。它将对象数组转换为 [object, object]。

    let x ={
        first:1,
        second:{
            third:3,
            fourth:[{
                fifth:4
            }],
            sixth:{
                seventh:5
            }
        },
        eighth:[1,2],
        ninth:[{
            tenth:10
        }]
    }

    console.log(JSON.stringify(x)) // {"first":1,"second":{"third":3,"fourth":[{"fifth":4}],"fi":[7],"sixth":{"seventh":5}},"eighth":[1,2],"ninth":[{"tenth":10}]} 

尝试使用 JSON.stringify() 获取整个对象

【讨论】:

  • ???是不是跟环境有关。 Chrome 会一直向下显示所有对象。没有“[对象对象]”
【解决方案3】:

[object Object] 是对象实例的字符串版本。如果您在未先将对象格式化为字符串的情况下尝试打印出对象,则 JavaScript 程序会返回此值。

这是 [object Object] 对象的语法: [object 对象] JavaScript 示例 举个例子:

let objA = {
 name: "christina",
 degree: "music",
 instrument: "flute"
}

【讨论】:

  • 第一段(2句)很好,但其余部分令人困惑。你对“...的语法”有什么看法? “在此处输入代码”是什么意思?也许有些问题是格式。最后一行是否应该在代码块内(而不是“在此处输入代码”)?
猜你喜欢
  • 2011-06-12
相关资源
最近更新 更多