我正在使用 find
来获取变量的值,但是当该变量返回多个值时,我的条件无法读取它们。
我需要的是对这个变量值求和,只返回一个数字。
代码:
mail.forEach(function(m) {
var nresult = $("#dat").contents()
.find("td:contains('" + m.hexEncode() + "')" )
.length;
return nresult;
});
我需要保留这个 forEach
函数 - 这是保持外部数据正常工作的唯一方法,因此,在这种情况下,这将返回以下值:0,0,1 ,1,0
,返回时我只需要 2
。
我怎样才能做到这一点?谢谢!
最佳答案
编辑(聊天后):
您可以修改 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 });
因此,reduce 函数将对 map()
返回的数组执行 a+b
。
然后您可以根据需要使用变量 res。
关于javascript - forEach循环: Sum multiple values in the same Variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35786598/