#javascript #node.js
#javascript #node.js
Вопрос:
Мне нужна помощь, чтобы создать логику для расчета ежеквартального выставления счетов.
Например: если владелец / арендатор вводит январь, то счет выставляется за три месяца до марта (январь-февраль-март). Аналогично, если владелец / арендатор вводит в апреле, то выставление счетов за три месяца до июня (апрель-май-июнь) и так далее. Но, если владелец / арендатор входит в феврале, то выставление счетов должно быть пропорционально за 2 месяца до марта (февраль-март). Аналогично, если владелец / арендатор вводит Mei, то выставление счетов должно быть пропорционально за 2 месяца до июня (май-июнь) и так далее. А также, если владелец / арендатор входит в марте, то выставление счетов должно быть пропорционально 1 месяцу только за март. Аналогично, если владелец / арендатор входит в июне, то выставление счетов должно быть пропорционально 1 месяцу только за июнь и так далее.
Ожидаемые результаты:
Если я введу январь, а счет составит 100000. Тогда результат равен 300000
Если я введу февраль, а счет составит 100000. Тогда результат равен 200000
Если я введу March, а счет составит 100000. Тогда результат равен 100000
Вот мой незаконченный код до сих пор:
const paymentScheme = (month, amount) => {
const quarterly = [['January', 'February', 'March'],['April', 'May', 'June'],['July', 'Agustus', 'September'],['October', 'November', 'December']];
const total = 0;
for (let i = 0; i < quarterly.length; i ) {
total = quarterly[i][1];
}
console.log(total);
}
paymentScheme('January', 100000)
Ответ №1:
const paymentScheme = (month, amount) => {
const quarterly = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
];
const quarter = 3;
const paymentFactor = quarter - (quarterly.indexOf(month) % quarter);
const total = paymentFactor * amount;
console.log(total);
};
paymentScheme("January", 100000);
paymentScheme("February", 100000);
paymentScheme("March", 100000);
paymentScheme("April", 100000);
paymentScheme("May", 100000);
paymentScheme("June", 100000);
paymentScheme("July", 100000);
paymentScheme("August", 100000);
paymentScheme("September", 100000);
paymentScheme("October", 100000);
paymentScheme("November", 100000);
paymentScheme("December", 100000);