Не могу получить валюты в массиве CID, чтобы уменьшить при совершении покупки, проект кассового аппарата [закрыт]Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Не могу получить валюты в массиве CID, чтобы уменьшить при совершении покупки, проект кассового аппарата [закрыт]

Сообщение Anonymous »

Я некоторое время застрял в этом проекте Freecodecamp, когда покупка сделана его возврата, точное изменение, необходимое для сортировки счетов от самой высокой конфессии до самой низкой, но когда я снова покупаю во второй раз, когда изменение возвращается, но на этот раз он сортирует счета из самой низкой деноминации до самого высокого и CID (денежный дрозд), кажется, не исходит. Вот мой код < /p>
const calculateChange = (price, cash, cid) => {
/* calculates the total amount in the cid array */
let totalCid = Number(cid.reduce((sum, el) => sum + el[1], 0).toFixed(2));
/* calculate change to give to customer when purchase is made */
let change = Number((cash - price).toFixed(2));
if (totalCid < change) {
changeDue.innerText = "Status: INSUFFICIENT_FUNDS";
} else if (totalCid === change && price < cash) {
changeDue.innerText = "Status: CLOSED " + cid;
} else {
let changeArr = [];
/* reverse cid array so it starts giving change from the highest denomination */
cid.reverse().forEach((el) => {
let coinName = el[0];
let totalAmountInDrawer = Number(el[1]);
let equivalentOfAmountInDrawer = Number(currencyUnit[coinName]);
let availableAmount = Number((totalAmountInDrawer / equivalentOfAmountInDrawer).toFixed(2));
let amountCollected = 0;

while (change >= equivalentOfAmountInDrawer && availableAmount > 0) {
change = Number((change - equivalentOfAmountInDrawer).toFixed(2));
/* tried to decrement the totalAmountInDrawer but to no avail */
totalAmountInDrawer--;
availableAmount--;
amountCollected++;
}

if (amountCollected > 0) {
const amount = Number((amountCollected * equivalentOfAmountInDrawer).toFixed(2));
changeArr.push([` ${coinName}: ` + `$${amount}` ]);
return changeArr;
}
});

changeDue.innerText = "Status: OPEN " + changeArr;
}
}
< /code>
Я попытался уменьшить TotalAmountRawer, но массив CID не закончится. Я не понимаю, что делаю неправильно

Подробнее здесь: https://stackoverflow.com/questions/796 ... has-been-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я бы исправил код в этом проекте веб -приложения кассового аппарата? [закрыто]
    Anonymous » » в форуме Javascript
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как создать строку цены с символом валюты (например, $) вместо кода валюты (USD, EUR)?
    Anonymous » » в форуме Android
    0 Ответы
    75 Просмотры
    Последнее сообщение Anonymous
  • Отсутствующий параметр валюты покупки
    Anonymous » » в форуме IOS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Retcode=10016 при совершении сделки в MetaTrader 5
    Гость » » в форуме Python
    0 Ответы
    49 Просмотры
    Последнее сообщение Гость
  • Я использую API xApi XTB. Мне нужна помощь в использовании «offset» и «sl» при совершении сделки.
    Anonymous » » в форуме Python
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»