У меня есть два массива, один с налоговыми кодами (emptaxdeductcode) и один с суммой, уплаченной за эти налоговые коды (emptaxamt).Поиск итогов определенных строк в массиве
Я пытаюсь найти суммы, уплаченные за , только налоговые коды, заканчивающиеся на 31. Эти налоговые коды имеют различное количество символов, но мне нужны только 12 символов.
Попытка использовать простой цикл, но это, кажется, ломая на линии 3. Он всегда показывает 0, даже для тех, которые имеют налоговый код (ы) в вопросе:
var returnedValue = 0;
for (var q = 0; q < emptaxdeductcode.length; q++) {
if (emptaxdeductcode[q].substring(10,11) == "31") {
returnedValue += emptaxamt[q];
} else {
0;
}
}
returnedValue;
Я пытался следующее, как тест, и оно возвращается: (Этот налоговый код не всегда находится в [5], поэтому я не могу просто использовать его. Кроме того, есть люди, у которых есть несколько налоговых кодов, заканчивающихся на 31)
if (emptaxdeductcode[5].substring(10,11) == "31") {
"TRUE";
} else {
"FALSE";
}
Так что это должна быть подстрока в цикле for, которая вызывает про . проблемы еще Любое руководство будет принята с благодарностью!
Редактировать: Вот пример данных. Извините, если это экспортирует странно - не совсем точно, как сделать таблицы:
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: Это программное обеспечение, которое я использую для создания этого отчета, не поддерживает многие утилиты/библиотеки JS. Много сообщений о stackoverflow с аналогичными проблемами для меня были решены с помощью «прототипов» функций или AngularJS и тому подобного. К сожалению, это не сработает для меня.
Как он ломается по линии 3? – epascarello
попробуйте записать значение emptaxdeductcode [q] перед его обработкой и посмотреть, что было до ошибки. Код emptaxdeductcode может содержать любое значение NULL? – alebianco
Вы можете показать, как выглядят ваши данные? –