Вы можете использовать функцию карты для массива ACID. Функция карты перебирает все значения массива, используя переменную элемента, и возвращает массив с тем же количеством элементов, но измененным, например: Также обратите внимание, что выбор элементов с 2 классами должен выполняться с использованием селектора classA.classB
Пробелы между classNames не должны использоваться
let ACID = ['T34', 'T454', 'AV8Bplus', 'AV8B', '']
const result = ACID.map(element => {
let sum = 0;
let collection;
if(element ==='')
{
collection = $('.fuel')
.filter(function(index){
return $(this).attr("class").trim() == "fuel";
})
} else {
collection = $('.fuel.'+element)
}
collection.each(function() {
sum += parseFloat($(this).html());
})
return {id: element, sum}
})
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class = 'fuel T34'>15</div>
<div class = 'fuel T454'>33</div>
<div class = 'fuel AV8Bplus'>28</div>
<div class = 'fuel AV8B'>15</div>
<div class = 'fuel T34'>15</div>
<div class = 'fuel'>77</div>
Возвращает массив сумм для каждого элемента ACID. Для дальнейшей модификации вы можете вернуть, например, объект, включая значение ACID: например, заменить return sum
на return {id: element, sum}
, который вернет массив объекта, который выглядит следующим образом:
[{id: 'id1', sum: 15},{id: 'id2', sum: 0} ]