Sobes.tech
Back to tasks
Junior — Senior
22

Подсчёт полной стоимости товаров с учётом скидок

Get help with live coding in real time with Sobes Copilot
Task condition

Дан массив объектов products. Требуется реализовать функцию calculateTotal, принимающую массив товаров и объект скидок discountPercentage. Функция должна вычислить суммарную стоимость всех товаров без применения скидок, а также стоимость с учётом скидок, и вернуть объект result, структура которого продемонстрирована в комментариях к коду. Решение должно быть написано на TypeScript.

const products = [
  { id: 1123, price: 20, name: 'apple', color: 'red', category: 'fruit' },
  { id: 4322, price: 20, name: 'apple', ferm: 'siberia', category: 'vegetable' },
];

function calculateTotal(products, discount) {}

const discountPercentage = { fruit: 10, vegetable: 30 };
const result = calculateTotal(products, discountPercentage);

console.log("receipt", result);
// "receipt", {
//   "totalWithoutDiscount": 40,
//   "totalWithDiscount": 32,
//   "discount": {
//     "fruit": 10,
//     "vegetable": 30
//   },
//   "items": [
//     {
//       "id": 1123,
//       "price": 20,
//       "name": "apple",
//       "color": "red",
//       "category": "fruit"
//     },
//     {
//       "id": 4322,
//       "price": 20,
//       "name": "apple",
//       "ferm": "siberia",
//       "category": "vegetable"
//     }
//   ]
// }