हालांकि JavaScript में एरे स्टैक की सभी कार्यक्षमता प्रदान करते हैं, आइए हम अपना खुद का स्टैक क्लास लागू करें। हमारे क्लास में निम्न फ़ंक्शन होंगे:
push(element): स्टैक के शीर्ष पर एलिमेंट्स पुश करने का फ़ंक्शन।pop(): शीर्ष से एक एलिमेंट हटाता है और उसे लौटाता है।peek(): स्टैक के शीर्ष पर एलिमेंट लौटाता है।isFull(): जांचता है कि क्या हम स्टैक पर एलिमेंट लिमिट पर पहुंच गए हैं।isEmpty(): जांचता है कि स्टैक खाली है या नहीं।clear(): सभी एलिमेंट्स हटाता है।display(): एरे की सभी सामग्री प्रदर्शित करता है।
आइए एक साधारण क्लास को परिभाषित करके शुरू करें जिसमें एक कंस्ट्रक्टर हो जो स्टैक का अधिकतम आकार लेता है और एक हेल्पर फ़ंक्शन display() हो जो इस क्लास के लिए अन्य फ़ंक्शन्स को लागू करते समय हमारी मदद करेगा। हमने दो और फ़ंक्शन्स, isFull और isEmpty भी परिभाषित किए हैं ताकि यह जांचा जा सके कि स्टैक भरा हुआ है या खाली।
isFull फ़ंक्शन बस जांचता है कि कंटेनर की लंबाई maxSize के बराबर या अधिक है या नहीं और तदनुसार लौटाता है।
isEmpty फ़ंक्शन जांचता है कि कंटेनर का आकार 0 है या नहीं।
ये अन्य ऑपरेशन्स को परिभाषित करते समय मददगार होंगे। इस बिंदु से आगे हम जो फ़ंक्शन्स परिभाषित करेंगे वे सभी स्टैक क्लास के अंदर जाएंगे।
उदाहरण
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); } }