Why there are only 2 elements in videoWindow.tabClose(2),[ 'Netflix', 'YouTube' ],shouldn't it be 3, [ 'Netflix', 'YouTube' ,'Vine']?

Tell us what’s happening:
Describe your issue in detail here.

   **Your code so far**
// tabs is an array of titles of each site open within the window
const Window = function(tabs) {
 this.tabs = tabs; // We keep a record of the array inside the object
};

// When you join two windows into one window
Window.prototype.join = function(otherWindow) {
 this.tabs = this.tabs.concat(otherWindow.tabs);
 return this;
};

// When you open a new tab at the end
Window.prototype.tabOpen = function(tab) {
 this.tabs.push('new tab'); // Let's open a new tab for now
 return this;
};

// When you close a tab
Window.prototype.tabClose = function(index) {

 // Only change code below this line

 const tabsBeforeIndex = this.tabs.slice(0, index); // Get the tabs before the tab
 const tabsAfterIndex = this.tabs.slice(index + 1); // Get the tabs after the tab

 this.tabs = tabsBeforeIndex.concat(tabsAfterIndex); // Join them together

 // Only change code above this line

 return this;
};

// Let's create three browser windows
const workWindow = new Window(['GMail', 'Inbox', 'Work mail', 'Docs', 'freeCodeCamp']); // Your mailbox, drive, and other work sites
const socialWindow = new Window(['FB', 'Gitter', 'Reddit', 'Twitter', 'Medium']); // Social sites
const videoWindow = new Window(['Netflix', 'YouTube', 'Vimeo', 'Vine']); // Entertainment sites

// Now perform the tab opening, closing, and other operations
const finalTabs = socialWindow
 .tabOpen() // Open a new tab for cat memes
 .join(videoWindow.tabClose(2)) // Close third tab in video window, and join
 .join(workWindow.tabClose(1).tabOpen());
 console.log(videoWindow.tabClose(2))
console.log(finalTabs.tabs);
   **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36

Challenge: Understand the Hazards of Using Imperative Code

Link to the challenge:

Hello there.

Do you have a question?

If so, please edit your post to include it in the Tell us what’s happening section.

Learning to describe problems is hard, but it is an important part of learning how to code.

Also, the more information you give us, the more likely we are to be able to help.

Sorry. I thought my description to the question is clear.

Its because you are removing things from the array with each call.

So here is the first one that removes Vimeo.

And here is the second that removes Vine.

So you are left with an array of just Netflix and YouTube.

you didn’t write anything in the issue description

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.