didkoslawow

Untitled

Jan 2nd, 2023
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. function arrayManipulator(numbers, commands) {
  2.  
  3. for (let i = 0; i < commands.length; i++) {
  4. let command = commands[i].split(" ");
  5. switch (command[0]) {
  6. case "add":
  7. let addIndex = Number(command[1]);
  8. let elementToAdd = Number(command[2]);
  9. numbers.splice(addIndex, 0, elementToAdd);
  10. break;
  11. case "addMany":
  12. let addManyIndex = Number(command[1]);
  13. command.splice(0, 2);
  14. let numbersToAdd = command.map(Number);
  15. numbers.splice(addManyIndex, 0, ...numbersToAdd);
  16. break;
  17. case "contains":
  18. let checkElement = Number(command[1]);
  19. if (numbers.includes(checkElement)) {
  20. console.log(numbers.indexOf(checkElement));
  21. break;
  22. } else {
  23. console.log(-1);
  24. break;
  25. }
  26. break;
  27. case "remove":
  28. let removeIndex = Number(command[1]);
  29. numbers.splice(removeIndex, 1);
  30. break;
  31. case "shift":
  32. let shiftPositions = Number(command[1]);
  33. for (let l = 0; l < shiftPositions; l++) {
  34. let shiftetElement = numbers.shift();
  35. numbers.push(shiftetElement);
  36. }
  37. break;
  38. case "sumPairs":
  39. if (numbers.length % 2 !== 0) {
  40. numbers.push(0);
  41. }
  42. let sumArray = [];
  43. for (let m = 0; m < numbers.length; m += 2) {
  44.  
  45. let sumPair = Number(numbers[i]) + Number(numbers[i + 1]);
  46. sumArray.push(sumPair);
  47. }
  48. numbers = sumArray;
  49. break;
  50. default:
  51. break;
  52. }
  53. }
  54. console.log('[ ' + numbers.join(', ') + ' ]');
  55. }
Advertisement
Add Comment
Please, Sign In to add comment