【问题标题】:JavaScript return objectJavaScript 返回对象
【发布时间】:2024-01-29 16:05:01
【问题描述】:

我目前正在研究一些 JavaScript,并且我有一个给定的函数,我想从中返回一个类似于 HashMap 的对象。下面是函数的内容:

function(video){
    var obj = {"title":video.title, "id":video.id};
    console.log(obj);
    return obj;
}

问题是console.log 打印了正确的值,但是return 没有返回它们。这是一个示例输出:

console.log:

{title: "Die Hard", id: 2}
{title: "Avatar", id: 3}

返回:

{[Object]}
{[Object]}

【问题讨论】:

  • 您是否尝试过带有返回值的console.log?我很确定没问题。
  • 当我为返回的对象尝试 console.log 时,它显示正确的输出
  • 除了下面的回答之外,您也可以使用漂亮的打印来代替警报或添加 html 来更好地查看 obj:console.log(JSON.stringify(obj, null, 4))

标签: javascript object logging console return


【解决方案1】:

我怀疑您正在向屏幕提示结果。

function video(){
  return {title: "Die Hard", id: 2}
}

a = video();

console.log(a); // Object {title: "Die Hard", id: 2}
alert(a); // [object Object]

您可以在此处了解原因以及可能的解决方案:Print content of JavaScript object?

但是,底线是:只需使用 console.log() 来检查对象(以及其他任何东西)。

【讨论】:

  • 不,我只是将对象映射到另一个变量并使用 console.log() 打印它。
  • 你能用小提琴演示一下这个问题吗?
  • 这对我来说按预期工作。 videoIdAndBookmarkIdPairs 返回一个对象数组。最初这在控制台上看起来像[Object, Object],但如果单击它左侧的三角形,您可以展开它并探索数组的内容。如果您想一次性查看数组中包含的所有内容,@Todd 的提示是一个很好的提示。 console.log(JSON.stringify(videoIdAndBookmarkIdPairs, undefined, 2)); 将很好地格式化数组的内容。
  • 是的,stringify 向我展示了对象中的信息,干杯!
  • 没有问题。如果这有帮助,也许您可​​以接受答案。