Ich habe zwei Arrays, eines mit Steuercodes (emptaxdeductcode), und eins mit den Beträgen für diese Steuercodes (emptaxamt) bezahlt.Finden von Summen bestimmter Strings in einem Array
Ich versuche die Beträge für nur die Steuercodes mit der Endung 31 zu finden. Diese Steuercodes haben eine unterschiedliche Anzahl an Zeichen, aber die Zeichen, die ich brauche, sind immer 12 Zeichen.
Der Versuch, eine einfache for-Schleife zu verwenden, aber es erscheint 3. Zeile zu brechen werden Es ist immer 0, auch für diejenigen darstellt, die die Steuer-Code (s) in Frage:
var returnedValue = 0;
for (var q = 0; q < emptaxdeductcode.length; q++) {
if (emptaxdeductcode[q].substring(10,11) == "31") {
returnedValue += emptaxamt[q];
} else {
0;
}
}
returnedValue;
Ich habe versucht, das folgende nur als ein Test und es ist wahr: (Dieser Steuercode ist nicht immer in [5], also kann ich nicht gerade das verwenden. Außerdem gibt es Leute, die mehrere Steuercodes haben, die in 31 enden)
if (emptaxdeductcode[5].substring(10,11) == "31") {
"TRUE";
} else {
"FALSE";
}
So muss es der Teilstring innerhalb der for-Schleife sein, die pro verursacht befleckt. Jede Anleitung würde sehr geschätzt werden!
Edit: Hier ist ein Beispiel für die Daten. Entschuldigung, wenn dies seltsam exportiert - nicht genau, wie man Tabellen erstellt:
emptaxdeductcode | emptaxamt
--- | ---
00-10 | 55.36
00-11 | 8.33
00-12 | 35.63
39-20 | 17.64
39-22 | 0.40
390770040-31 | 9.48
390770040-32 | 2.00
Edit2: Diese Software, die ich benutze, um diesen Bericht zu erstellen, unterstützt nicht viele JS-Dienstprogramme/Bibliotheken. Viele Posts auf Stackoverflow mit ähnlichen Problemen wurden mit 'Prototyp'-Funktionen oder AngularJS und ähnlichen Dingen gelöst. Leider wird das bei mir nicht funktionieren.
Wie bricht es in Zeile 3? – epascarello
versuche, den Wert von emptaxdeductcode [q] vor der Verarbeitung zu protokollieren und zu sehen, was es vor dem Fehler war. emptaxdeductcode kann einen beliebigen Nullwert enthalten? – alebianco
können Sie zeigen, wie Ihre Daten aussehen? –