我有以下循环通过数组。
for(var j=0; j<10;j++) {
for(var k=0; k<10; k++) {
if(final[k]==ya[j]){
final[k].changeRankScore((ya[j].score + final[k].score)/2);
}else{
}
}
}
有两个包含 10 个元素的数组。我正在检查是否存在在 final 中找到的重复元素。如果是,则更改重复元素的final 的分数,不要将其添加到final。如果没有,我们可以将元素添加到 final 中。
我想到的一种可能的方法是标记元素以稍后添加到数组中。
有没有更好的方法来做到这一点?
编辑:
Final = { 1, 2, 3, 4, 5, 6, 7 } ;
ya = { 2 , 8, 7, 9, 10, 11, 12 } ;
我正在遍历数组 Ya。如果该元素也在数组 Final 中找到,则增加该元素的分数(因为它是一个对象)。如果没有找到,只需将数组 Ya 中的元素推送到数组 final 中。
在这种情况下,数组 Ya 中的数字 2 和 7 是重复的。因此,与数组 final 中的这些数字相关的分数应该增加,而数组 Ya 的其余元素应该被推到 final。然后数组应该变成
Final = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}