Mặc dù mảng trong JavaScript cung cấp đầy đủ chức năng của Stack, hãy tự triển khai lớp Stack riêng. Lớp của chúng ta sẽ có các hàm sau:
push(element): Đẩy phần tử lên đỉnh stackpop(): Xóa và trả về phần tử đỉnhpeek(): Trả về phần tử đỉnh không xóaisFull(): Kiểm tra đã đạt giới hạnisEmpty(): Kiểm tra stack rỗngclear(): Xóa tất cả phần tửdisplay(): Hiển thị nội dung
Bắt đầu bằng việc định nghĩa lớp đơn giản với constructor nhận kích thước tối đa và hàm helper display(). Cũng định nghĩa isFull và isEmpty để kiểm tra stack đầy hay rỗng.
isFull kiểm tra độ dài container >= maxSize.
isEmpty kiểm tra kích thước container == 0.
Các hàm từ đây trở đi sẽ nằm bên trong lớp Stack.
Ví dụ - Khởi tạo lớp Stack
class Stack { constructor(maxSize) { if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize; this.container = []; } display() { console.log(this.container); } isEmpty() { return this.container.length === 0; } isFull() { return this.container.length >= maxSize; } push(element) { if (this.isFull()) { console.log("Stack Overflow!"); return; } this.container.push(element); } }