Advertisement
Spocoman

Mobile Operator

Feb 24th, 2022 (edited)
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function mobileOperator(input) {
  2.     let year = input[0];
  3.     let type = input[1];
  4.     let net = input[2];
  5.     let month = Number(input[3]);
  6.  
  7.     let sum = 0;
  8.  
  9.     switch (type) {
  10.         case "Small":
  11.             if (year === "one") {
  12.                 sum = 9.98;
  13.             } else {
  14.                 sum = 8.58;
  15.             }
  16.             break;
  17.  
  18.         case "Middle":
  19.             if (year === "one") {
  20.                 sum = 18.99;
  21.             } else {
  22.                 sum = 17.09;
  23.             }
  24.             break;
  25.  
  26.         case "Large":
  27.             if (year === "one") {
  28.                 sum = 25.98;
  29.             } else {
  30.                 sum = 23.59;
  31.             }
  32.             break;
  33.  
  34.         case "ExtraLarge":
  35.             if (year === "one") {
  36.                 sum = 35.99;
  37.             } else {
  38.                 sum = 31.79;
  39.             }
  40.             break;
  41.     }
  42.    
  43.     if (net === "yes") {
  44.         if (sum <= 10) {
  45.             sum += 5.5;
  46.         } else if (sum > 10 && sum <= 30) {
  47.             sum += 4.35;
  48.         } else {
  49.             sum += 3.85;
  50.         }
  51.     }
  52.  
  53.     let total = sum * month;
  54.  
  55.     if (year === "two") {
  56.         total -= 3.75 * total / 100;
  57.     }
  58.     console.log(`${total.toFixed(2)} lv.`);
  59.     return;
  60. }
  61.  
  62.  
  63. РЕШЕНИЕ СЪС SWITCH И ТЕРНАРЕН ОПЕРАТОР:
  64.  
  65. function mobileOperator(input) {
  66.     let year = input[0];
  67.     let type = input[1];
  68.     let net = input[2];
  69.     let month = Number(input[3]);
  70.  
  71.     let sum = 0;
  72.  
  73.     switch (type) {
  74.         case "Small":
  75.             sum = year === "one" ? 9.98 : 8.58;
  76.             break;
  77.  
  78.         case "Middle":
  79.             sum = year === "one" ? 18.99 : 17.09;
  80.             break;
  81.  
  82.         case "Large":
  83.             sum = year === "one" ? 25.98 : 23.59;
  84.             break;
  85.  
  86.         case "ExtraLarge":
  87.             sum = year === "one" ? 35.99 : 31.79;
  88.             break;
  89.     }
  90.    
  91.     sum += net === "yes" ? (sum <= 10 ? 5.5 : sum > 30 ? 3.85 : 4.35) : 0;
  92.  
  93.     let total = sum * month;
  94.     total -= year === "two" ? 3.75 * total / 100 : 0;
  95.    
  96.     console.log(`${total.toFixed(2)} lv.`);
  97.     return;
  98. }
  99.  
  100.  
  101. РЕШЕНИЕ С ТЕРНАРЕН ОПЕРАТОР:
  102.  
  103. function mobileOperator(input) {
  104.     let year = input[0];
  105.     let type = input[1];
  106.     let net = input[2];
  107.     let month = Number(input[3]);
  108.  
  109.     let sum = (type === "Small" ? (year === "one" ? 9.98 : 8.58)
  110.             : type === "Middle" ? (year === "one" ? 18.99 : 17.09)
  111.             : type === "Large" ? (year === "one" ? 25.98 : 23.59)
  112.             : type === "ExtraLarge" ? (year === "one" ? 35.99 : 31.79) : 0);
  113.  
  114.     sum += net === "yes" ? (sum <= 10 ? 5.5 : sum > 30 ? 3.85 : 4.35) : 0;
  115.  
  116.     let total = sum * month;
  117.     total -= year === "two" ? 3.75 * total / 100 : 0;
  118.    
  119.     console.log(`${total.toFixed(2)} lv.`);
  120.     return;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement