Ivankooo1

Array Manipulator

Dec 30th, 2019
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve3(arr, commands) {
  2.     let newArr = [];
  3.     for (let el of commands) {
  4.         let [command, index, element] = el.split(' ');
  5.         switch (command) {
  6.             case 'add':
  7.                 arr.splice(index, 0, +element);
  8.                 break;
  9.             case 'addMany':
  10.                 let currentEl = 0;
  11.                 let removeFirst = el.split(' ');
  12.                 for (let i = removeFirst.length - 1; i >= 2; i--) {
  13.                     currentEl = removeFirst[i];
  14.                     arr.splice(index, 0, +currentEl);
  15.                 }
  16.                 break;
  17.             case 'contains':
  18.                   console.log(arr.indexOf(+index));
  19.                 break;
  20.             case 'remove':
  21.                 arr.splice(index, 1);
  22.                 break;
  23.             case 'shift':
  24.                 let position = +index;
  25.                 for (let i = 0; i < position; i++) {
  26.                     let firstEl = arr.shift();
  27.                     arr.push(firstEl);
  28.                 }
  29.                 break;
  30.             case 'sumPairs':
  31.            
  32.                     let els = arr.reduce(function(total, el, index) {
  33.                         if (index % 2 === 0) {
  34.                             total.push(+arr[index] + (+arr[index + 1] || 0));
  35.                         }
  36.                         return total;
  37.                     }, []);
  38.                     arr = els;
  39.                
  40.                 break;
  41.             case 'print':
  42.                 for (let el of arr) {
  43.                     newArr.push(el);
  44.                 }
  45.                 break;
  46.         }
  47.     }
  48.    
  49.     console.log('[ ' + newArr.join(', ') + ' ]');
  50. }
  51. solve([1,2,4,5,6,7],['add 1 8','contains 1','contains 3','print']);
  52. //solve([1,2,3,4,5],['addMany 5 9 8 7 6 5','contains 15','remove 3','shift 1','print']);
Advertisement
Add Comment
Please, Sign In to add comment