Advertisement
Guest User

ArrayManipulator

a guest
Dec 31st, 2019
955
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.                 // if (arr.indexOf(+index) !== -1) {
  19.                 //     console.log('0');
  20.                 // } else {
  21.                 //     console.log('-1');
  22.                 // }
  23.                 console.log(arr.indexOf(+index));
  24.                 break;
  25.             case 'remove':
  26.                 arr.splice(index, 1);
  27.                 break;
  28.             case 'shift':
  29.                 let position = +index;
  30.                 for (let i = 0; i < position; i++) {
  31.                     let firstEl = arr.shift();
  32.                     arr.push(firstEl);
  33.                 }
  34.                 break;
  35.             case 'sumPairs':
  36.                 // if (arr.length % 2 === 0) {
  37.                     let els = arr.reduce(function(total, el, index) {
  38.                         if (index % 2 === 0) {
  39.                             total.push(+arr[index] + (+arr[index + 1] || 0));
  40.                         }
  41.                         return total;
  42.                     }, []);
  43.                     arr = els;
  44.                 // }
  45.                 break;
  46.             case 'print':
  47.                 for (let el of arr) {
  48.                     newArr.push(el);
  49.                 }
  50.                 break;
  51.         }
  52.     }
  53.     // console.log(newArr);
  54.     console.log('[ ' + newArr.join(', ') + ' ]');
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement