當前位置:才華齋>設計>網頁設計>

JavaScript陣列的棧方法與佇列方法

網頁設計 閱讀(2.25W)

陣列(Array)和物件(Object)應該是JavaScript中使用最多也是最頻繁的兩種型別了,Array提供了很多常用的方法:棧方法、佇列方法、重排序方法、操作方法、位置方法、迭代方法等等。

JavaScript陣列的棧方法與佇列方法

1、Array的棧方法

棧是一種LIFO(Last-In-First-Out,後進先出)的資料結構,也就是最新新增的項最早被移除。棧中項的插入(push)和移除,只發生在一個位置——棧的頂部。ECMAScript為陣列提供了push()和pop()方法,可以實現類似棧的.行為。下面兩圖分別演示了入棧與出棧操作。

push()方法可以接收任意資料的引數,把它們逐個新增到陣列末尾,並返回修改後的陣列長度。pop()方法從陣列末尾移除最後一項,減少陣列的length值

var students = [];("bluce","jordan","marlon","kobe");//入棧4項alert(th); //4alert(students[0]); //"bluce",第一項在棧的底部alert(students[1]); //"jordan"("paul");alert(th); //5var item = (); //"paul"alert(th); //4

2、Array的佇列方法

棧資料結構的訪問規則是LIFO(後進先出),而佇列資料結構的訪問規則是FIFO(First-In-First-Out,先進先出)。佇列在列表的末端新增項,從列表的前端移除項。push()方法是向陣列末端新增項的方法,因此要模擬佇列只需一個從陣列前端取得項的方法——shift(),其能夠移除陣列中的第一個項並返回該項,同時陣列的length-1。結合使用shift()和push()方法,可以像使用佇列一樣使用陣列。

var students = [];("bluce","jordan","marlon","kobe");//入隊4項//students=["bluce","jordan","marlon","kobe"];alert(th); //4alert(students[0]); //"bluce",第一項在棧的底部alert(students[1]); //"jordan"("paul");alert(th); //5//students=["bluce","jordan","marlon","kobe","paul"];var item = t(); //"bluce"alert(th); //4//students=["jordan","marlon","kobe","paul"];

此外,ECMAScript還提供了unshift()方法,它能在陣列前端新增任意個項並返回新陣列的長度。因此,結合使用unshift()和pop()方法,可以從相反的方向來模擬佇列,即在陣列的前端新增項,從陣列末端移除項