In computer science, a stack or LIFO (last in, first out) is an abstract data type that serves as a collection of elements, with two principal operations: push, which adds an element to the collection, and pop, which removes the last element that was added. -- Stack (abstract data type), Wikipedia
- Fork and clone this repository.
- Change into the new directory.
- Follow the remaining instructions.
Create a custom JavaScript object modeling the stack using a constructor function and a prototype. Starter code has been provided for you in lib/stack.js
.
- You should be able to create a new stack with
var stack = Stack.new();
. - Your stack should have two methods,
push
andpop
.push
adds a new value to the stack's storage and returns the added valuepop
removes the most recently added value from the stack's storage and returns it
- You should not use
Array.prototype.push()
orArray.prototype.pop()
Pre-fill the stack on instantiation.
var stack = Stack.new([1,2,3])
stack.pop() //=> 3
Which parts of each method are side-effects, and which are the "main" effect?
Source code distributed under the MIT license. Text and other assets copyright General Assembly, Inc., all rights reserved.