Advertisement
bebo231312312321

Untitled

Apr 2nd, 2023
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function decryptingCommands(arr) {
  2.   let message = arr[0];
  3.  
  4.   const commands = {
  5.     Replace: replace,
  6.     Cut: cut,
  7.     Make: make,
  8.     Check: check,
  9.     Sum: sum,
  10.   };
  11.  
  12.   let i = 1;
  13.  
  14.   while (arr[i] != 'Finish') {
  15.     const [command, t1, t2] = arr[i].split(' ');
  16.     const fn = commands[command];
  17.  
  18.     fn(t1, t2);
  19.     i++;
  20.   }
  21.  
  22.   function replace(currentChar, newChar) {
  23.     let regex = new RegExp(currentChar, 'g');
  24.     message = message.replace(regex, newChar);
  25.     console.log(message);
  26.   }
  27.  
  28.   function cut(i1, i2) {
  29.     i1 = Number(i1);
  30.     i2 = Number(i2);
  31.  
  32.     if (message[i1] == undefined || message[i2] == undefined) {
  33.       return console.log('Invalid indices!');
  34.     }
  35.  
  36.     const removeText = message.substring(i1, i2 + 1);
  37.     message = message.replace(removeText, '');
  38.  
  39.     console.log(message);
  40.   }
  41.  
  42.   function make(command) {
  43.     message = command == 'Upper' ? message.toUpperCase() : message.toLowerCase();
  44.     console.log(message);
  45.   }
  46.  
  47.   function check(str) {
  48.     if (message.includes(str)) {
  49.       console.log(`Message contains ${str}`);
  50.     } else {
  51.       console.log(`Message doesn't contain ${str}`);
  52.    }
  53.  }
  54.  
  55.  function sum(i1, i2) {
  56.    i1 = Number(i1);
  57.    i2 = Number(i2);
  58.  
  59.    if (message[i1] == undefined || message[i2] == undefined) {
  60.      return console.log('Invalid indices!');
  61.    }
  62.  
  63.    let sum = message
  64.      .substring(i1, i2 + 1)
  65.      .split('')
  66.      .reduce((acc, curr) => acc + curr.charCodeAt(), 0);
  67.  
  68.    console.log(sum);
  69.  }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement