Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Первый вариант решения: через Switch
- function calculate(num1, operation, num2) {
- if(typeof num1 === 'number' && typeof num2 === 'number' && operation !== null){
- const result = (function(_operation) {
- switch(true){
- case (operation === '+') : return num1 + num2
- break
- case (operation === '-') : return num1 - num2
- break
- case (operation === '/') : return num1 / num2
- break
- case (operation === '*') : return num1 * num2
- break
- default: return null
- break
- }
- })(operation);
- // возвращаем результат как того требует условие задачи
- switch(true){
- case ((result === Infinity)||(result === -Infinity)) : return null
- break
- case (result === -0) : return 0
- break
- default: return result
- break
- }
- }
- else{
- return null;
- }
- }
- console.log(calculate(-4, "*", 0));
- console.log(calculate(2,"+", 4));
- console.log(calculate(6,"-", 1.5));
- console.log(calculate(49,"/", -7));
- console.log(calculate(8,"m", 2));
- console.log(calculate(4,"/",0));
- // Это же решение, только используя тернарный оператор:
- // function calculate(num1, operation, num2) {
- // if(typeof num1 === 'number' && typeof num2 === 'number' && operation !== null){
- // const result =
- // (operation === '+') ? num1 + num2 :
- // (operation === '-') ? num1 - num2 :
- // (operation === '/') ? num1 / num2 :
- // (operation === '*') ? num1 * num2 :
- // null;
- // return condition =
- // ((result === Infinity)||(result === -Infinity)) ? null :
- // (result === -0) ? 0 :
- // result;
- // }
- // else{
- // return null;
- // }
- // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement