Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function arrayManipulator(array,comands) {
- for(let i=0;i<comands.length;i++) {
- let action = comands[i].split(` `);
- if(action[0] === `add`) {
- action.shift();
- array = add(array,action)
- } else if( action[0] === `contains`) {
- action.shift();
- console.log(array.indexOf(Number(action[0])))
- } else if(action[0]=== `addMany`) {
- action.shift();
- array = addMany(array,action)
- } else if( action[0] === `remove`) {
- action.shift();
- array = remove(array,action);
- } else if(action[0] === `shift`) {
- action.shift();
- array = shft(array,action);
- } else if(action[0] === `sumPairs`) {
- array = sumPair(array);
- } else if(action[0] === `print`) {
- break;
- }
- }
- return `[ ${array.join(`, `)} ]`
- function add(arr,action) {
- arr.splice(action[0],0,Number(action[1]))
- return arr;
- }
- function addMany(arr,action) {
- let index = action.shift()
- for(let i=0;i<action.length;i++) {
- arr.splice(index++,0,Number(action[i]))
- }
- return arr;
- }
- function remove(arr,action) {
- let index = action[0]
- arr.splice(Number(index),1)
- return arr;
- }
- function shft(arr,index) {
- for(let i=0;i<index;i++) {
- arr.push(arr[i]);
- arr.shift(arr[i]);
- }
- return arr
- }
- function sumPair(arr) {
- let output = []
- while(arr.length>0) {
- let a = arr.shift() || 0;
- let b = arr.shift() || 0;
- output.push(a+b)
- }
- return output;
- }
- }
- arrayManipulator([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
Advertisement