Guest User

Untitled

a guest
Jun 21st, 2020
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function arrayManipulator(arrayNumbers, arrayCommands) {
  2.  
  3.     let copyNumbers = arrayNumbers.slice();
  4.     let copyCommands = arrayCommands.slice();
  5.  
  6.  
  7.     if (copyCommands[0] === "print") {
  8.         console.log(copyNumbers);
  9.  
  10.     } else {
  11.         for (let i = 0; i < arrayCommands.length; i++) {
  12.             let command = copyCommands.shift().split(" ");
  13.  
  14.             if (command.includes("add")) {
  15.                 copyNumbers.splice(command[1], 0, Number(command[2]));
  16.             } else if (command.includes("contains")) {
  17.                 let searchedNum = Number(command[1]);
  18.                 if (copyNumbers.includes(searchedNum)) {
  19.                     console.log(copyNumbers.indexOf(searchedNum));
  20.                 } else {
  21.                     console.log(-1);
  22.                 }
  23.  
  24.             } else if (command.includes("remove")) {
  25.                 copyNumbers.splice(command[1], 1);
  26.  
  27.             } else if (command.includes("addMany")) {
  28.                 for (let j = command.length - 1; j >= 2; j--) {
  29.                     copyNumbers.splice(command[1], 0, command[j])
  30.                 }
  31.             } else if (command.includes("shift")) {
  32.                 let rotationsNeeded = command[1] % copyNumbers.length;
  33.                 let resultArr = [];
  34.  
  35.                 for (let i in copyNumbers) {
  36.  
  37.                     if (i >= rotationsNeeded) {
  38.                         let element = copyNumbers[i];
  39.                         resultArr.push(element);
  40.                     }
  41.                 }
  42.  
  43.                 for (let index in copyNumbers) {
  44.                     if (index < rotationsNeeded) {
  45.  
  46.                         resultArr.push(copyNumbers[index]);
  47.                     } else {
  48.                         break;
  49.                     }
  50.                 }
  51.                 copyNumbers = resultArr;
  52.  
  53.             } else if (command.includes("sumPairs")) {
  54.  
  55.                 let blankArray = [];
  56.                 for (let i = 0; i < copyNumbers.length; i += 2) {
  57.                     let sum = copyNumbers[i] + copyNumbers[i + 1];
  58.                     if (sum != NaN) {
  59.                         blankArray.push(sum);
  60.                     } else {
  61.                         blankArray.push(copyNumbers[i])
  62.                         break;
  63.                     }
  64.  
  65.                 }
  66.                 copyNumbers = blankArray;
  67.             } else {
  68.                 let finalResult = copyNumbers.join(", ");
  69.                 console.log(`[ ${finalResult} ]`);
  70.                 break;
  71.             }
  72.         }
  73.     }
  74. }
Add Comment
Please, Sign In to add comment