我有以下遍历数组的循环。
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中。
我想到的可能方法之一是标记要稍后添加到数组中的元素。
有更好的方法吗?
EDIT:
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}