я бы сделал немного по-другому. По идее, ты должен указать инфу о кол-ве, оставшегося товара для каждой позиции(quantity). Если предположить, что ты так и сделаешь, то можно переписать так
const items = [
{name:'Отвертка',price:'150', quantity: 100},
{name:'Ключ',price:'100', quantity: 200},
{name:'Зубило',price:'180', quantity: 500},
{name:'Напильник',price:'200', quantity: 1000},
{name:'Молоток',price:'500', quantity: 250}
];
function getDiscount(x) {
if(x < 10) return 5;
if(x > 10 && x < 50) return 7;
if(x > 50 && x < 100) return 10;
if(x > 100) return 15;
}
function getCustomerBenefit(item) {
const benefit = item.quantity * 0.01 * item.price * getDiscount(item.quantity);
console.log('money you can save due to discount', benefit);
return benefit;
}
function calculateTotalPayment(item) {
const beforeDiscount = item.quantity * item.price;
const totalPayment = beforeDiscount - getCustomerBenefit(item);
console.log('beforeDiscount', beforeDiscount);
console.log('total payment(discount included)', totalPayment);
return totalPayment;
}
calculateTotalPayment(items[4]);
p.s.
https://repl.it/HCNy