棧資料的結構規則是lifo(後進先出),而佇列資料結構的訪問規則是fifo(先進先出)。
要實現fifo的訪問規則,需要在佇列的末尾新增項,佇列的前端移除項。push()方法是
向陣列的末尾新增項,所以只需要得到乙個從陣列的前端取得項的方法即可。
shift( )方法:移除陣列中的第一項並返回該項,同時陣列長度減1。
同時使用shift( )方法和push( )方法,就可以像佇列一樣使用陣列。如例1所示:
例1:
var arr=['red','blue','green'];
alert(arr.length);//此時的陣列長度為3
arr.push('black');//向陣列的末尾新增一項,值為"black"
alert(arr.length);//此時陣列的長度變為4
alert(arr[3]);//獲取陣列的第四項,值是"black"
alert(arr.shift());//刪除陣列的第一項
alert(arr.length);//獲取陣列的長度,輸出結果為3
ecmascript還為陣列提供了乙個unshift()方法,該方法的用途與shift()的相反,它
能在陣列前端新增任意個項並返回新陣列的長度。
同時使用unshift()方法和pop( )方法,可以使用相反的方向來模擬佇列。
javaScript陣列中的棧和佇列
棧方法 棧是一種lifo last in first out,後進先出 的資料結構。其實通俗的講就是最新新增的項最早被移除。而棧中項的插入 叫做推入 和移除 叫做彈出 只發生在乙個位置 棧的頂部。在ecmascript中陣列也提供了讓它類似於其他資料結構的方法。具體來說,陣列可以表現得像棧一樣。還是...
JavaScript中的陣列
陣列 引數 返回值原陣列是否改變 1 向陣列尾部新增push 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 2 刪除陣列的最後一項pop 沒有引數 返回值是刪除的那個數 原陣列改變 3 向陣列的頭部新增unshift 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 4 刪除...
JavaScript陣列的操作
建立乙個空的陣列 var arr new array 建立長度為5的空的陣列,只有乙個元素時,會把這個元素當成陣列的長度,從而建立乙個長度為該元素的值的陣列。如果只有乙個元素,而該元素又不是整型的數字時,會出現錯誤 uncaught syntaxerror unexpected token ille...