2016-03-04 84 views
1

我正在使用find來獲取我變量的值,但是當此變量返回多個值時,我的條件無法讀取它們。for each循環:在同一個變量中求和多個值

我需要的是總結這個變量值,只返回一個數字。

代碼:

mail.forEach(function(m) { 

    var nresult = $("#dat").contents() 
     .find("td:contains('" + m.hexEncode() + "')") 
     .length; 

    return nresult; 

}); 

我需要保持這種forEach功能 - 就是讓我的外部數據的工作的唯一途徑,所以,這將返回,在這種情況下,這個值:0,0,1,1,0,和我只需要返回2

我該怎麼做?謝謝!

+0

是'nresult'數組的值嗎? –

+0

我認爲這是。我的意思是,如果我使用一些腳本刪除過去的值並添加一個新的值,只需要返回一個值。但是當我使用append之類的東西時,我會返回所有值。 –

回答

1

EDIT(聊天后): 您可以通過修改return語句做這樣的事情:

var res = mail.map(function(m) { 

    var nresult = $("#dat").contents() 
    .find("td:contains('" + m.hexEncode() + "')") 
    .length; 
    return nresult; 

}).reduce(function(a,b){ return a+b }); 

所以減少函數將返回map()陣列上執行a+b

然後,您可以根據需要使用變量res。

+0

日誌 - 無法讀取屬性'reduce'。謝謝Tomisol,你的回答。你知道我該怎麼改變它? –

+0

哪一個給你這個錯誤?用nresult返回聲明? – Suicideboy

+0

不,我運行腳本時整個頁面的控制檯日誌 –