Lulunga

Text Processing 10. Letters Change Numbers

Jul 19th, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(text) {
  2.     let re = /\s/;
  3.     text = text.split(re).filter(e => e);
  4.     let totalSum = 0;
  5.     let alphaBetUpper = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
  6.     let alphaBetLow = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
  7.     function isUpperCase(symbol) {
  8.         return symbol === symbol.toUpperCase();
  9.     }
  10.     text.forEach(element => {
  11.         let firstLetter = element[0];
  12.         let lastLetter = element[element.length - 1];
  13.         let number = Number(element.substring(1, element.length - 1));
  14.         let index;
  15.         if (isUpperCase(firstLetter)) {
  16.  
  17.             index = alphaBetUpper.indexOf(firstLetter) + 1;
  18.             number = number / index;
  19.         } else {
  20.  
  21.             index = alphaBetLow.indexOf(firstLetter) + 1;
  22.             number *= index;
  23.         }
  24.         if (isUpperCase(lastLetter)) {
  25.  
  26.             index = alphaBetUpper.indexOf(lastLetter) + 1;
  27.             number -= index;
  28.         } else {
  29.  
  30.             index = alphaBetLow.indexOf(lastLetter) + 1
  31.             number += index;
  32.         }
  33.         totalSum += number;
  34.     });
  35.     console.log(totalSum.toFixed(2));
  36. }
Advertisement
Add Comment
Please, Sign In to add comment