JavaScript棧
棧是一種遵從後進先出(LIFO)原則的有序集合。
新新增的或待刪除的元素都儲存在棧的末尾,稱作棧頂,另一端就叫棧底。
我們在這裡先定義一個棧:
function Stack(){ let items = [];//儲存棧 //新增一個或多個元素到棧頂 this.push = function(element){ items.push(element) } //移除棧頂的元素,並且返回被移除的元素 this.pop = function(){ return items.pop()//pop方法有返回值 } //返回棧頂的元素,不做任何操作 this.peek = function(){ return items[items.length-1]; } //檢測棧裡是否有元素,沒有true,有false this.isEmpty = function(){ return items.length === 0; } //清空棧 this.clear = function(){ items = [] } //返回棧裡的元素個數 this.size = function(){ return items.length; } }
在上面我們已經定義好了一個棧,現在我們來呼叫一下這個棧:
let stack = new Stack(); console.log("stack棧是否為空:"+stack.isEmpty());//true stack.push(5);//(壓棧) stack.push(10); stack.push(15); stack.push(20); console.log("stack棧頂元素:"+stack.peek())//20 console.log("stack棧長度:"+stack.size())//4 stack.pop();//刪除棧頂元素(出棧) console.log("stack棧頂元素:"+stack.peek())//15 console.log("stack棧是否為空:"+stack.isEmpty());//false stack.clear(); console.log("stack棧是否為空:"+stack.isEmpty());//true
通過上述的方法,我們就能夠比較明顯的看出來棧的效果啦
相關文章
- JavaScript之呼叫棧JavaScript
- JavaScript理解堆和棧JavaScript
- javascript資料結構 -- 棧JavaScript資料結構
- JavaScript資料結構02 - 棧JavaScript資料結構
- JavaScript資料結構之-棧JavaScript資料結構
- JavaScript資料結構之棧JavaScript資料結構
- 全棧 JavaScript 開發圖景全棧JavaScript
- 用JavaScript實現棧與佇列JavaScript佇列
- Python全棧Web(JavaScript函式、陣列)Python全棧WebJavaScript函式陣列
- [譯] 如何編寫全棧 JavaScript 應用全棧JavaScript
- JavaScript 資料結構之隊棧互搏JavaScript資料結構
- JavaScript執行環境與執行棧JavaScript
- Stack and Queue in JavaScript(Javascript中的資料結構之棧和佇列)JavaScript資料結構佇列
- javascript資料結構與演算法-棧JavaScript資料結構演算法
- 如何用JavaScript手動實現一個棧JavaScript
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- JavaScript中記憶體使用規則--堆和棧JavaScript記憶體
- 1-1 JavaScript執行環境 執行棧JavaScript
- JavaScript 如何工作系列: 引擎、執行時、呼叫棧概述JavaScript
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- 【譯】理解 Javascript 執行上下文和執行棧JavaScript
- 學習JavaScript資料結構(一)——棧和佇列JavaScript資料結構佇列
- 全棧技巧:從Javascript跳轉到Java能有多難?全棧JavaScript
- JavaScript 的資料結構和演算法 - 棧篇JavaScript資料結構演算法
- JavaScript 中的執行上下文和執行棧JavaScript
- 深入理解 JavaScript 執行上下文和執行棧JavaScript
- 深入理解JavaScript執行上下文和執行棧JavaScript
- 01Javascript資料結構與演算法 之 棧JavaScript資料結構演算法
- EggBorn.js:一款頂級Javascript全棧開發框架JSJavaScript全棧框架
- [譯] 理解 JavaScript 中的執行上下文和執行棧JavaScript
- [轉] 細數Javascript技術棧中的四種依賴注入JavaScript依賴注入
- 【譯】JavaScript如何工作的:一覽引擎、執行時和呼叫棧JavaScript
- JavaScript中執行上下文和執行棧是什麼?JavaScript
- (譯文)JavaScript中的執行上下文和執行棧JavaScript
- JavaScript 的資料結構和演算法 - 棧程式碼篇JavaScript資料結構演算法
- 《JavaScript資料結構與演算法》筆記——第3章 棧JavaScript資料結構演算法筆記
- javascript變數物件函式呼叫棧作用域閉包等細解!JavaScript變數物件函式
- “雲”端的語雀:用 JavaScript 全棧打造商業級應用JavaScript全棧