Всем привет.
Собственно задача такая.
Есть массив заказов. В зависимости от того какой по счету заказ за него начисляется разный процент указанный в настройках.
Например от первого до 4-го заказа оплачивается 5%, до 6го - 10%, до 8-го 20%, все остальные - 30%.
Я сделал это так
// Настройки
const settings = [
{numOrder: 4, percent: 10},
{numOrder: 6, percent: 20},
{numOrder: 8, percent: 30},
];
// Например сейчас это будет 5-й заказ
const quantity = 5;
// Функция которая определяет какой процент оплачивать
const f = (q, sett) => {
let res = 5; // По умолчанию 5% - это если заказов меньше чем первый элемент из настроек
sett.forEach((el, i) => {
if (el.numOrder <= q) {
res = el.percent;
}
});
return res;
}
console.log(f(quantity, settings));
Так то все работает, но вопрос - можно ли сделать лаконичней и проще?