Ich versuche, einige Informationen in Arrays dynamisch abzurufen, zu berechnen und zu speichern.Gruppiere und summiere ein Array
Informationen, die ich habe, ist:
var myArrayID = [];
myArrayID = ['1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', ........ '5'];
//100 ID in myArrayID that has been sorted in order
var myArrayScore = [];
myArrayScore = ['100', '70', '80', '88', '23', '99', ....... '20'];
//100 Score in myArrayScore that has been sorted in order
Kurz
myArrayID[0]
hat Verweis auf myArrayScore[0]
----> ID 1 hat einen Score von 100
....
myArrayID[99]
hat eine Referenz auf myArrayScore[99]
----> ID 5 hat eine Punktzahl von 20
Ich mag würde die Gesamtpunktzahl jeder einzelnen ID erhalten, ohne meine hard Methode
Meine Methode ist
var ID1 = 1;
var ID2 = 2;
var ID3 = 3;
var ID4 = 4;
var ID5 = 5;
var ID1Score = 0;
var ID2Score = 0;
var ID3Score = 0;
var ID4Score = 0;
var ID5Score = 0;
for(var i in myArrayID)
{
if(myArrayID[i] === ID1)
{
ID1Score += myArrayScore[i];
}
if(myArrayID[i] === ID2)
{
ID1Score += myArrayScore[i];
}
if(myArrayID[i] === ID3)
{
ID1Score += myArrayScore[i];
}
if(myArrayID[i] === ID4)
{
ID1Score += myArrayScore[i];
}
if(myArrayID[i] === ID5)
{
ID1Score += myArrayScore[i];
}
}
Diese Methode funktioniert, aber es ist hart codiert.
Darf ich wissen, ob es sowieso ist es dynamisch zu kodieren,
In einem Sinne, dass, selbst wenn mein Array ändert (vorausgesetzt, ich habe 9-ID statt), aber es ist nach wie vor in einer sortierten Reihenfolge, und es wird nach wie vor enthält die gleiche LÄNGE.