Испытание: От зарплаты до зарплаты

откуда взялись название переменных и почему нам их не предложили?

Такой вот варант:

Сводка
let calculateSalary = function (blackSalary) {
        let percent = 0.35;
        if (blackSalary>=100000) {
          percent=0.45
          }
        let whiteSalary = Math.round(blackSalary-(blackSalary*percent));
        return whiteSalary;
        };

Есть ещё такой вариант:

    let calculateSalary = function (salary) {
      if (salary < 100000) {
        salary *= 0.65;
        } else {
          salary *= 0.55;
          }
          return Math.round(salary);
    };

для всех
gross - грязная зп
net - чистая зп
taxes - налоги.
код:
let calculateSalary = function (gross) {
let taxes = 0.35;
if (gross >= 100000) {
taxes = 0.45;
}
net = Math.round(gross* (1 - taxes))
return(net);
};

let calculateSalary = function (blackSalary) {
let percent=0.35;
if(blackSalary>=100000){percent=0.45}
whiteSalary=Math.round(blackSalary*(1-percent));
return(whiteSalary);
};

Привет) Объясни пожалуйста, в net = Math.round(gross* (1 - taxes)) , откуда взялся -1 ?
Спасибо.

Вот такой вариант

let calculateSalary = function (dirtySalary) {
return dirtySalary >= 100000
? dirtySalary - dirtySalary * 0.45
: dirtySalary - dirtySalary * 0.35;
}

Первый вариант:

let calculateSalary = function (blackSalary) {
  
  let whiteSalary = blackSalary - (blackSalary * 0.35);
  if(blackSalary >= 100000) {
     whiteSalary = blackSalary - (blackSalary * 0.45);
    } 
        
  return whiteSalary; 
}

Второй вариант:

let calculateSalary = (blackSalary) => {
  let whiteSalary;
  (blackSalary >= 100000) ? 
    whiteSalary = blackSalary - (blackSalary * 0.45):
    whiteSalary = blackSalary - (blackSalary * 0.35);
    
  return whiteSalary;
}

let calculateSalary = function (dirtySalary) {
let taxPercent = 0.35;
if (dirtySalary >= 100000) {
taxPercent = 0.45;
}
let tax = dirtySalary * taxPercent;
let clearSalary = Math.round(dirtySalary - tax);
return clearSalary;
};

Сделал с веткой else:

let calculateSalary = function (dirtySalary) {
if (dirtySalary >= 100000) {
let cleanSalary = Math.round(dirtySalary - (dirtySalary * 0.45));
return cleanSalary;
} else {
cleanSalary = Math.round(dirtySalary - (dirtySalary * 0.35));
return cleanSalary;
}
};

calculateSalary(10000);

let calculateSalary = function (zarplatado) {
let nalogi = 0.35;
if(zarplatado >= 100000) {
nalogi = 0.45;
}
let zarplata = zarplatado * nalogi;
let zarplataposle = zarplatado - zarplata;
return zarplataposle;
}

let calculateSalary = (amount)=>{if(amount <100000){ return amount - (amount/100)*35
}
else {return amount - (amount/100)*45}
}

const calculateSalary = salary => salary >= 100000 ? Math.round(salary *= 0.55) : Math.round(salary *= 0.65);

1 лайк

но можно и ещё чуть короче =)
const calculateSalary = salary => Math.round(salary * (salary >= 100000 ? 0.55 : 0.65));

самое нормальное решение,что моросить не понимаю вообще

уважаемые хватит писать то что не пройдено ,хотите умничать создайте что нибудь ,что хотя бы вам принесёт деньги я уж не говорю про экономику государства,а тут умничать не нужно ,просто это сравнимо с маханием кулаками на кухне даже как то жаль вас становится ,впечатление что в большом мире IT вы нихрена не можете

Мой вариант, в принципе мало чем отличаеться от других, но всеже

Спойлер

let calculateSalary = function (wages) {
let tax = 0.35;
if(wages >= 100000){
tax = 0.45;
}
let calculation = wages - tax * wages;
return calculation;
};

let calculateSalary = function (grossSalary) {
let taxPercent = 0.35;
if (grossSalary >= 100000) {
taxPercent = 0.45;
}
let finalSalary = grossSalary - grossSalary * taxPercent;
console.log(‘Чистая зарплата на лапы составит ’ + finalSalary + ’ рублей’);
return(finalSalary);
};

calculateSalary(40000);
calculateSalary(100000);

мое решение: let calculateSalary = function (gross_salary) {
if (gross_salary >= 100000) {
net_salary = gross_salary * 0.55;
} else {
net_salary = gross_salary * 0.65;
}
return Math.round(net_salary);

};