Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //problem 4 - Browser Logger
- function browserLogger(obj, commands) {
- let browser = JSON.parse(JSON.stringify(obj));
- let browserName = 'Browser Name';
- let openTabs = "Open Tabs";
- let recentlyClosed = 'Recently Closed';
- let browserLogs = 'Browser Logs';
- for (let command of commands) {
- let tokens = command.split(' ').filter(t => t !== '');
- if (tokens[0] === "Open") {
- browser[openTabs].push(tokens[1].trim());
- browser[browserLogs].push(command);
- } else if (tokens[0] === "Close") {
- let tab = tokens[1].trim();
- if(browser[openTabs].includes(tab)) {
- browser[recentlyClosed].push(tab);
- let index = browser[openTabs].indexOf(tab);
- browser[openTabs].splice(index,1);
- browser[browserLogs].push(tokens[0] + ' ' + tokens[1]);
- }
- } else if(command === 'Clear History and Cache'){
- browser[openTabs] = [];
- browser[recentlyClosed] = [];
- browser[browserLogs] = [];
- }
- }
- let result = [];
- result.push(browser[browserName]);
- result.push('Open Tabs: ' + browser[openTabs].join(', '));
- result.push('Recently Closed: ' + browser[recentlyClosed].join(', '));
- result.push('Browser Logs: ' + browser[browserLogs].join(', '));
- return result.join('\n').trim();
- }
- let result = [];
- result.push(browser[browserName]);
- result.push('Open Tabs: ' + (browser[openTabs].length > 0 ? browser[openTabs].join(', ') : ''));
- result.push('Recently Closed: ' + (browser[recentlyClosed].length > 0 ? browser[recentlyClosed].join(', ') : ''));
- result.push('Browser Logs: ' + (browser[browserLogs].length > 0 ? browser[browserLogs].join(', ') : ''));
- return result.join('\n').trim();
- }
- console.log(browserLogger(
- {"Browser Name":"Google Chrome",
- "Open Tabs":["Facebook", 'Facebook', "YouTube","Google Translate"],
- "Recently Closed":["Yahoo","Gmail"],
- "Browser Logs":["Open YouTube","Open Yahoo","Open Google Translate","Close Yahoo","Open Gmail","Close Gmail","Open Facebook"]},
- ['Close Facebook', 'Open StackOverFlow', 'Open Google']
- ));
- console.log(browserLogger(
- {"Browser Name":"Mozilla Firefox",
- "Open Tabs":["YouTube"],
- "Recently Closed":['Gmail', 'Dropbox'],
- "Browser Logs":['Open Gmail', 'Close Gmail', 'Open Dropbox', 'Open YouTube', 'Close Dropbox']},
- ['Open Wikipedia', 'Clear History and Cache', 'Open Twitter']
- ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement