为什么[{"value":"tag1"}在记录时会变成[object Object]?

Col*_*lor 3 javascript arrays string object node.js

在我的 Node.js 服务器上,我有以下代码:

var tags = [{"value":"tag1"},{"value":"tag2"}];
console.log("tags: " + tags);
Run Code Online (Sandbox Code Playgroud)

我希望控制台会这样说:

tags: [{"value":"tag1"},{"value":"tag2"}]
Run Code Online (Sandbox Code Playgroud)

但反而得到了这个:

tags: [object Object],[object Object]
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况?它在我的代码中引起问题,因为我试图访问这些值但无法访问。

Jac*_*ord 5

您有两个选择:

1:使用逗号,而不是将字符串连接在一起,以避免toString()被调用和创建[object Object]

var tags = [{"value": "tag1"}, {"value": "tag2"}];
console.log("Tags: ", tags);
Run Code Online (Sandbox Code Playgroud)

2:JSON.stringify()在对象上使用将其转换为可读的字符串:

var tags = [{"value": "tag1"}, {"value": "tag2"}];
console.log("Tags: ", JSON.stringify(tags));
Run Code Online (Sandbox Code Playgroud)