2017-06-21 33 views
0

我是Meteor Javascript的初學者。我正在嘗試發送郵件數組結果。和我的代碼如下如何使用流星發送郵件的數組結果javascript

var Testname = test.find({}).fetch(); 
var a = []; 
    var b = []; 
    var c = []; 
    var allResult = []; 
    _.each(Testname, function(testname){ 
      var testResult = test.findOne({_id:testname._id}); 
      var st = testResult.st; 
      var end_date = testResult.et; 
      var pt = testResult.percentileCalculationTill; 

      var br = testAttempts.find({activity_id:testname._id,start_time:{$st, $pt}}).count(); 
      b.push(br); 

      var Afterresult = testAttempts.find({activity_id:testname._id,start_time:{$pt, $lt:end_date}}).count(); 
      a.push(Afterresult); 

      var k = testname.name; 
      c.push(k); 


     }); 
var email = { 
     to: 'xxx.com',   
     from: 'xxxx.com', 
     subject: "xxx", 
     cc: "xxx", 
     text: "Name: " + c + 
     "\n\nWith : " + b + 
     "\n\nAfter: " + a 
     }; 


Meteor.call("send_email", email.to, email.from, email.subject, email.cc, email.text); 

我的結果傳送作爲

Name : abs, dfg 
With: 4,5 
After: 7,6 

但我想,如下`

Name : abs With: 4  After: 7 
Name : dfg With: 5 After: 6` 

所以,我怎麼能解決這個問題。 請儘快更新我。

回答

0

目前,您有三個數組:a,b,c,它們的長度都相等。您需要遍歷數組並逐個組合相應的元素。下面的代碼並不是最好的解決方案(例如,你真的不應該使用a.length來確定a,b,c的長度),但它是理解最簡單的方法,並且應該指向正確的方向。

var textString = ''; 
for(var row = 0; row < a.length; row++){ 
    textString = textString + 'Name: ' + c[row] + ' With: ' + b[row] + ' After: ' + a[row] + '\n\n' 
} 

var email = { 
    to: 'xxx.com',   
    from: 'xxxx.com', 
    subject: "xxx", 
    cc: "xxx", 
    text: textString 
    }; 
+0

嘿艾丹,它的作品完美。非常感謝你 – user8156395

+0

而其他的東西是我們可以使用一個html標籤的名稱:...,與:.....和爲後:.... ????? – user8156395

+0

我不確定你的意思是關於html標籤,但如果你改變for循環的內部部分,你可以使任何你想要的字符串。是的,我認爲在該字符串中使用html標記將會很好,但我從來沒有試過在電子郵件中使用html –

相關問題