class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
class Stack {
constructor() {
this.arr = [];
}
peek() {
return this.arr[this.arr.length-1];
}
push(value) {
this.arr.push(value);
return this;
}
pop() {
if (this.arr.length === 0) {
return null;
}
if (this.arr.length === 1) {
return this.arr.pop();
}
this.top = this.arr[this.arr.length-1];
return this.arr.pop();
}
isEmpty() {
return (this.length === 0);
}
// print the elements in the stack
printList() {
console.log(this.arr.join(" | "));
}
}
const myStack = new Stack();
console.log(myStack.isEmpty());
myStack.push(10);
myStack.push(20);
myStack.push(30);
myStack.push(40);
console.log(myStack.peek());
myStack.printList();
console.log(myStack.pop());
myStack.printList();
console.log(myStack.pop());
myStack.printList();
console.log(myStack.isEmpty());
console.log(myStack.length);
console.log(myStack);