Javascript中逗号分隔的对象是什么

What are comma separated objects in Javascript?

本文关键字:对象 是什么 分隔 Javascript      更新时间:2023-09-26

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

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

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

这在Javascript中是什么?我的意思是,我试着在上面做。但我得到了:

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方法。

console.log('users' + users);

正在将users强制转换为字符串,该字符串通常通过commata将它们连接起来。如果你想像往常一样记录它们,不要用字符串连接它们,而是将users作为一个单独的参数传递给console.log:

console.log('users', users);
相关文章: