2016-03-04 85 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

不,我运行脚本时整个页面的控制台日志 –