2017-04-18 59 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;