javascript - JavaScript 中逗号分隔的对象是什么?

标签 javascript mongoose console.log

现在我注意到一件事,这对我来说很奇怪,我找不到合适的文档。当我使用 Mongoose.find() 从集合中获取文档时,我将它们记录到控制台。写的是:

{ 
   name: 'first document'
},{
   name: 'second document'
}

(当然他们有_id,但这是为了简单起见。)

这在 JavaScript 中是什么?我的意思是,我尝试对其执行 .forEach,但我得到:

TypeError: undefined is not a function
    at Array.forEach (native)
    ...

但是,我通常可以做这样的事情:

User.find({}, function (err, users){
//        users.forEach(console.log('iterated')); -> returns error that I've described

    for(var i=0; i<users.length; i++){
        console.log('iterated');
    }
    console.log('users' + users);
});

编辑

类型错误是因为没有将函数传递给 forEach 方法,如注释中所述。但为什么它不返回类似的内容:

[{ 
   name: 'first document'
},{
   name: 'second document'
}}

最佳答案

您需要将一个函数传递给 forEach 方法:

users.forEach(function(v, i){
  console.log('User name = ' + v.name);
});

当你没有将 console.log('iterated') 包装在函数中时,它会首先调用 log 方法并使用返回值发送到forEach 方法。

关于javascript - JavaScript 中逗号分隔的对象是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809616/

相关文章:

javascript - 单个页面上的多个分页和增量值(Javascript)

Javascript:使用二维数组的最有效方法

node.js - mongo中级联删除

javascript - 在 Chrome 的 Worker 中使用 `console.log` 会打印两次相同的消息

javascript - 在字符串变量中设置 Console.log 的样式?

javascript - 如何让 console.log 显示对象的当前状态?

javascript - 在 Java 和 Python 中实现相同的 XorShift

javascript - localeCompare 与 ASCII 风格的字典序排序

node.js - Mongoose ObjectId 数组的 Lodash 联合

arrays - MongoDB - 查询数组的最后一个元素?