Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript或Meteor中使用函数参数获取对象值_Javascript_Meteor - Fatal编程技术网

在javascript或Meteor中使用函数参数获取对象值

在javascript或Meteor中使用函数参数获取对象值,javascript,meteor,Javascript,Meteor,我有一个简单的函数,如下所示: getCurrentUserInfo: function (userId, reference) { var scanUser = Meteor.users.find({"_id": userId}).fetch()[0]; return scanUser.reference; } getCurrentUserInfo(Meteor.userId(), "_id"); 当用户使用如下功能时: getCurrentUserInfo: func

我有一个简单的函数,如下所示:

getCurrentUserInfo: function (userId, reference) {
    var scanUser = Meteor.users.find({"_id": userId}).fetch()[0];
    return scanUser.reference;
  }
getCurrentUserInfo(Meteor.userId(), "_id");
当用户使用如下功能时:

getCurrentUserInfo: function (userId, reference) {
    var scanUser = Meteor.users.find({"_id": userId}).fetch()[0];
    return scanUser.reference;
  }
getCurrentUserInfo(Meteor.userId(), "_id");
它给了我一个“未定义”的结果,我相信这是由于字符串参数“\u id”造成的,因为如果我直接返回
scanUser.\u id
,它就会工作。我不知道如何使它工作。有什么建议或相关话题吗?谢谢。

试试这个:

getCurrentUserInfo: function (userId, reference) {
    var scanUser = Meteor.users.find({"_id": userId}).fetch()[0];
    return scanUser[reference];
}

您需要使用括号表示法通过字符串访问对象的属性。

返回scanUser.\u id
因为您在函数中隐式地写入了_id

返回扫描用户[参考]

这是更通用的,适用于任何属性

Stephen Woods-OMG,很快,现在我意识到scanUser是一个数组,所以我应该使用数组。我认为在查询的最后添加[0]会删除数组。非常感谢Woods先生:)Stephen Woods下面的回答起了作用,我想在我的查询末尾添加
[0]
会删除scanUser的数组属性,但事实并非如此,因此我必须使用
scanUser[reference]
,并将其整理出来