Сколько стоит ваш фронтенд? 23/24

На корпоративе было скучно, решил зайти на сайтик академии, а тут ба - новая тема.

Эх, как увидел новую тему, сразу в голове:

"Кекс, сколько ты зарабатываешь?"

image

Ну что ж, поехали, представляю вам свою версию, покритикуйте =)

С Новым Годом, академики =)
let getPrice = function (hours, isUrgency) {
  let hourlyRate = 1500;
  
  if (isUrgency) {
    hours /= 2;
    hourlyRate *= 2.5;
  }
  if (hours > 150) {
    hourlyRate -= 250;
  }
  
  return hours * hourlyRate;
}
getPrice(180, true);

Забавно выходит, и 150 часов и 180 часов несрочной работы оплачиваются одинаково.

5 лайков

Все очень даже просто. Спасибо!

// Моё решение по примеру с подсчётом миль.

let getPrice = function (hours, immediately) {
let fix = 1500;

if (immediately) {
fix *= 2.5;
hours /= 2
}

if (hours > 150) {
fix -= 250;
}
return fix * hours;
};

до этого были очень сложные задания, а это получилось сделать минут за 15.

:british_virgin_islands:

Спойлеры

let getPrice = function(timeInHour, urgency){
let priceInHour = 1500;
if (urgency) {
timeInHour /= 2;
priceInHour *= 2.5;
console.log(priceInHour);
}
if(timeInHour > 150){
priceInHour -= 250;
console.log(priceInHour);
}
return timeInHour * priceInHour;
};[quote=“Moon.sev, post:3, topic:12968, full:true”]
// Моё решение по примеру с подсчётом миль.

let getPrice = function (hours, immediately) {
let fix = 1500;

if (immediately) {
fix *= 2.5;
hours /= 2
}

if (hours > 150) {
fix -= 250;
}
return fix * hours;
};

Не проходит проверку в 200 часов
Где ошибка?

let project = true;
let priceForhour = 1500
let getPrice = function( time, project) {
  if (project) {
    if (time > 150) {
      return (0.5 * time * (2.5 * priceForhour- 250));
      } else {
        return (0.5 * time * 2.5 * priceForhour);
        }
    } else {
      if (time > 150) {
        return (time * (priceForhour - 250));
        } else {
          return (time * priceForhour);
          }
      }
}