2017-04-18 93 views
0

我创建了这个函数,它应该给我105; 6.5和110; 4.5而不是我收到undefined: undefinedundefined: undefined 任何人都可以告诉我我必须做什么,我得到正确的结果吗?我用asynchron读了一些东西,但我不确定我有什么机会?!未定义的HTML结果

这里是我的功能(流星isClient)...

var d = 0; 
var finalReturn = ""; 
while(distinctPlayer[d]) { 
    var total = 0; 
    Spieltag.find({SpielerID: distinctPlayer[d]}).map(function (doc) { 
     total += doc.Note; 
    }); 

    var finalName = 0; 
    Spieltag.find({SpielerID: distinctPlayer[d]}).map(function (doc) { 
     finalName = doc.SpielerID; 
    }); 

    finalReturn += finalName[d] +": "+ total[d]; 
    d++; 
} 
return finalReturn; 

而在HTML,它看起来像这样

<p> 
    <pre>{{otherHelperFunction}}</pre> 
</p> 
+3

'total'和'finalName'不是数组。他们是单一的,独立的变量。 – Marie

+0

我想你错误地使用了'.find()'和'.map()'。 'find'应该接收回调作为第一个参数,而不是发送一个对象。 'map'不会返回一个值,因此不会映射。 – Andrewmat

回答

0

尝试使用后发现取()()和之前地图()

var d = 0; 
var finalReturn = ""; 
while(distinctPlayer[d]) { 
    var total = 0; 
    Spieltag.find({SpielerID: distinctPlayer[d]}).fetch().map(function (doc) { 
     total += doc.Note; 
    }); 

    var finalName = 0; 
    Spieltag.find({SpielerID: distinctPlayer[d]}).fetch().map(function (doc) { 
     finalName = doc.SpielerID; 
    }); 

    finalReturn += finalName[d] +": "+ total[d]; 
    d++; 
} 
return finalReturn; 
相关问题