У меня есть следующий код, который рассчитывает процент чаевых относительно суммы счета. Мне было поручено создать метод внутри самого объекта, чтобы хранить значения гораздо проще. Однако мне снова понадобится функция в другом коде. Чтобы избежать повторения, я создал отдельную функцию calcTip и отдельный цикл for для итерации по счетам в объекте John.
Я выяснил, как рассчитать отдельные подсказки и сохранить эти значения в подсказках. массив.
Теперь я хотел бы взять исходную сумму счета и добавить ее к соответствующему наконечнику и вставить ее в массив.
(так, чтобы finalBillsВ массиве должны отображаться суммы: [142.6, 57.60 и т. д.]])
Вот то, что я до сих пор придумал ...
var john = {
patron: 'John',
bills: [
124,
48,
180,
268,
42
],
tips: [],
finalBills: []
}
function calculateTip(bill) {
if (bill < 50) {
percentage = (20 / 100);
} else if (bill >= 50 && bill < 200) {
percentage = (15 / 100);
} else {
percentage = (10 / 100);
}
return percentage * bill;
};
// console.log(john.bills.length);
for (var i = 0; i < john.bills.length; i++) {
var bill = john.bills[i];
console.log(bill);
var tips = calculateTip(bill);
var roundedTips = tips.toFixed(2);
john.tips.push(roundedTips);
console.log('These are the tip amounts: ', roundedTips)
var finalBill = (roundedTips + bill);
console.log('Final amounts: ', finalBill)
};
console.log(john)