Hãy xem xét một lớp ngăn xếp đơn giản trong Javascript.
Ví dụ
class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize; // Init an array that'll contain the stack values. this.container = []; } // A method just to see the contents while we develop this class display() { console.log(this.container); } // Checking if the array is empty isEmpty() { return this.container.length === 0; } // Check if array is full isFull() { return this.container.length >= maxSize; } push(element) { // Check if stack is full if (this.isFull()) { console.log("Stack Overflow!"); return; } this.container.push(element); } pop() { // Check if empty if (this.isEmpty()) { console.log("Stack Underflow!"); return; } this.container.pop(); } peek() { if (isEmpty()) { console.log("Stack Underflow!"); return; } return this.container[this.container.length - 1]; } }
Đây là isFull hàm chỉ kiểm tra xem độ dài của vùng chứa có bằng hoặc hơn maxSize hay không và trả về tương ứng. isEmpty chức năng kiểm tra xem kích thước của vùng chứa có bằng 0. Các chức năng Push và Pop được sử dụng để thêm và xóa các phần tử mới khỏi ngăn xếp tương ứng hay không.
Trong phần này, chúng ta sẽ thêm thao tác CLEAR trong lớp này. Chúng ta có thể xóa nội dung chỉ bằng cách gán lại phần tử vùng chứa vào một mảng trống. Ví dụ:
Ví dụ
clear() { this.container = []; }
Bạn có thể kiểm tra xem chức năng này có hoạt động tốt hay không bằng cách sử dụng -
Ví dụ
let s = new Stack(2); s.push(10); s.push(20); s.display(); s.clear(); s.display();
Đầu ra
Điều này sẽ cung cấp đầu ra -
[10, 20] []