Это в то время как l oop по существу находит лучшую единицу валюты для возврата клиенту, учитывая то, что находится в ящике, и добавляет ее в массив изменений.
while (difference > 0) {
var unit = Object.keys(currency).reverse().reduce((output,prop)=>{
if (difference >= currency[prop] && cid[prop] >= currency[prop]) {
output.push(prop, currency[prop]);
} else {}
return output;
}, []);
cid[unit[0]] -= unit[1];
difference -= unit[1];
change.push(unit);
}
- cid составляет ca sh в ящике
- Элемент списка
разница - принц минус ca sh
Я мог бы явно обмануть, но предпочтительнее было бы лучшее решение .