Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const getGets = (arr) => {
- let index = 0;
- return () => {
- const toReturn = arr[index];
- index += 1;
- return toReturn;
- };
- };
- const test = [
- "set 2",
- "print",
- "front-add 1",
- "print",
- "back-add 2",
- "print",
- "front-remove",
- "print",
- "set 4",
- "print",
- "print",
- "front-add 1",
- "print",
- "back-add 3",
- "print",
- "reverse",
- "print",
- "end"
- ];
- const gets = this.gets || getGets(test);
- const print = this.print || console.log;
- // code
- var arr = [];
- for (var i = 0; i < test.length; i++) {
- arr.push(gets());
- }
- var code = [];
- for (var y= 0; y < arr.length; y++) {
- if (arr[y].search('set') !== -1) {
- code[y] = 'set';
- }
- if (arr[y].search('front-add') !== -1) {
- code[y] = 'front-add';
- }
- if (arr[y].search('back-add') !== -1) {
- code[y] = 'back-add';
- }
- if (arr[y]==='print') {
- code[y] = 'print';
- }
- if (arr[y]==='front-remove') {
- code[y] = 'front-remove';
- }
- if (arr[y]==='back-remove') {
- code[y] = 'back-remove';
- }
- if (arr[y]==='reverse') {
- code[y] = 'reverse';
- }
- if (arr[y]==='end') {
- code[y] = 'end';
- }
- }
- for (var x=0; x < code.length; x++) {
- switch(code[x]) {
- case 'set':
- var result = arr[x].slice(4);
- break;
- case 'front-add':
- var digit1 = arr[x].slice(10);
- result = digit1 + result;
- break;
- case 'back-add':
- var digit2 = arr[x].slice(9);
- result = result + digit2;
- break;
- case 'front-remove':
- result = result.slice(1);
- break;
- case 'print':
- print(result);
- break;
- case 'back-remove':
- result = result.substring(0, result.length-1);
- break;
- case 'reverse':
- result = result.split("").reverse().join("");
- break;
- case 'end':
- code[x +1] = '';
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement