Are you sure you want to go to an external site to donate a monetary value?
WARNING: Some countries laws may supersede the payment processors policy such as the GDPR and PayPal. While it is highly appreciated to donate, please check with your countries privacy and identity laws regarding privacy of information first. Use at your utmost discretion.
Создал новый тикет, потому что старый не смог переоткрыть.
Пересмотрел ещё раз всю функцию целиком.
Переделал так:
function createCalculationForItem(item) { $("#cwas-price-calculator-calculate").click(function(){ var startLvl = parseInt($("#cwas-price-calculator-startLvl").val()); var endLvl = parseInt($("#cwas-price-calculator-endLvl").val()); var results = $("#cwas-price-calculator-results"); results.children().remove(); var resourceDict = {}; for (var updateLvl = startLvl + 1; updateLvl <= endLvl; updateLvl++) { var levelPrice = item.price(updateLvl); for (var resourceName in levelPrice) { var resourceAmount = levelPrice[resourceName]; if (resourceAmount > 0) { if (resourceDict[resourceName] === undefined) { resourceDict[resourceName] = 0; } resourceDict[resourceName] += resourceAmount; } } } for (var r in resourceDict) { if (r !== 'time') { results.append(createResourceSection(r, resourceDict[r])); } } results.append(createResourceSection('time', formatTimeFromSeconds(resourceDict.time))); }); }
За один цикл одновременно собираем и нужные ресурсы и их количество.
Проходимся только по нужным уровням.
Значения с ресурсом, равным 0, отфильтровываем.