Javascript 防止数组筛选器匹配与所需元素索引不同的元素
我已经创建了一个记分器,通过添加一个类来突出显示每场比赛的获胜者。获胜者通过以下JavaScript:Javascript 防止数组筛选器匹配与所需元素索引不同的元素,javascript,arrays,filter,Javascript,Arrays,Filter,我已经创建了一个记分器,通过添加一个类来突出显示每场比赛的获胜者。获胜者通过以下JavaScript: // take max score from each game and push into g1winner and g2winner arrays - g1winner.push(Math.max(parseInt(scoreboxArr[i].split(';')[2]),parseInt(scoreboxArr[i].split(';')[5]))); g2winner
// take max score from each game and push into g1winner and g2winner arrays -
g1winner.push(Math.max(parseInt(scoreboxArr[i].split(';')[2]),parseInt(scoreboxArr[i].split(';')[5])));
g2winner.push(Math.max(parseInt(scoreboxArr[i].split(';')[11]),parseInt(scoreboxArr[i].split(';')[14])));
// filter scorebox-elem's for each date to find max score and addClass '.winner'
$('#g1t1_score.scorebox-elem, #g1t2_score.scorebox-elem').filter(function () {
return $(this).is(':contains('+g1winner[i]+')');
}).addClass('winner').prevAll().eq(2).addClass('winner');
$('#g2t1_score.scorebox-elem, #g2t2_score.scorebox-elem').filter(function () {
return $(this).is(':contains('+g2winner[i]+')');
}).addClass('winner').prevAll().eq(2).addClass('winner');
记分器允许用户左右导航以按日期查看游戏分数。通过addClass方法突出显示获胜球队的效果非常好,直到我有一个失败的球队与另一个日期的前一个获胜球队得分相同。注意:
您可以在此处看到它的作用:
我理解为什么会发生这种情况,但我是一个业余程序员,我不知道如何改变我拥有的,这样只有当前游戏的获胜团队才能通过过滤功能进行匹配。可以添加一个计数器,该计数器绑定到上面的白色div的每个scorebox网格,并添加每个数组中元素的索引必须与计数器匹配的条件?建议?事实上,如果你看一下,你会发现,它的回调函数有两个参数,第一个是被处理元素的索引: 作用 类型:函数整数索引,元素=>布尔值 用于测试集合中每个元素的函数。这是 当前DOM元素 因此,这里要做的是在回调函数中传递此索引,并将其与i变量进行比较,这样它只考虑相关元素:
$('#g2t1_score.scorebox-elem, #g2t2_score.scorebox-elem').filter(function (index) {
return index == i && $(this).is(':contains('+g2winner[i]+')');
}).addClass('winner').prevAll().eq(2).addClass('winner');