Помогите решить эту задачу.
Уже два дня мучаюсь.
Вот что у меня получилось сделать
function fillTank(fuelPrice, amount) {
const totalPrice = fuelPrice * amount;
if (this.money === 0) {
return;
}
if (this.maxTankCapacity < this.vehicle.maxTankCapacity) {
(this.maxTankCapacity / amount) * fuelPrice;
}
if (amount === undefined) {
this.maxTankCapacity * amount;
return this;
}
if (this.money < this.fuelPrice) {
Math.random(this.amount - this.money);
}
if (this.money !== parseInt) {
this.money = this.money - totalPrice;
return this.money.toFixed(1);
}
if(amount < 2){
return;
}
}
/********************************************************/
Вот условия задачи и примеры
Royal Oil это сеть прогрессивных заправочных станций. Сегодня они хотят избавиться от рутинной работы и полностью автоматизировать все процессы. Нужно создать функцию fillTank, которая будет методом объекта customer. Метод будет принимать параметры: цену топлива fuelPrice за один литр, и количество литров amount, которую желает приобрести клиент. В объекте customer, обязательно будет поле money, это средства, которые есть у клиента, и поле vehicle - транспортное средство, в котором в свою очередь будут поля maxTankCapacity, и fuelRemains. Метод должен изменять объект customer, изменять баланс на счете клиента, и заливать нужное количество топлива в транспортное средство.
Пример:
const customer = {
money: 30,
vehicle: {
maxTankCapacity: 20,
fuelRemains: 8,
},
refuel: fillTank,
};
const fuelPrice = 2;
const amount = 3;
customer.refuel(fuelPrice, amount);
customer.money // 24
customer.vehicle.maxTankCapacity // 20
customer.vehicle.fuelRemains // 11
Функция должна учитывать следующие правила:
Если клиент желает приобрести больше топлива, чем вмещает бак его транспортного средства, залить ему полный бак топлива, и посчитать только стоимость залитого топлива.
Если клиент не знает сколько топлива ему нужно (параметр amount не передан), залить полный бак топлива.
Если у клиента мало средств на счету, залить топлива на сумму, которая есть у клиента, литры округляй, отбрасывая все до десятой части.
Если остаток на счете в клиента не целое число, отбрасывай все до десятой части.
Нельзя заправить меньше 2 литров топлива.
Hint: используй toFixed для отбрасывания дробной части. Не забудь перевести строку обратно в число.