Js~數組的操作push,pop,shift,unshift

原文地址爲:Js~數組的操作push,pop,shift,unshift

JS中的數組提供了四個操作,以便讓我們實現隊列與堆棧!

小理論:

隊列:先進先出

堆棧:後進先出

實現隊列的方法:

shift:從集合中把第一個元素刪除,並返回這個元素的值。

unshift: 在集合開頭添加一個或更多元素,並返回新的長度

push:在集合中添加元素,並返回新的長度

pop:從集合中把最後一個元素刪除,並返回這個元素的值。

這是原來老趙寫的關於數組隊列的代碼,覺得有點問題,所以改了一下

 1         // Usage:裝載並運行函數
 2         // 隊列機制
 3         var Resource = (function () {
 4             var waitingCallbacks = [];
 5             var execute = function (cb) {
 6                 setTimeout(function () {
 7                     cb(function () {
 8                         if (waitingCallbacks.length == 0) return;
 9                         execute(waitingCallbacks.shift());
10                     });
11                 }, 0);
12             };
13             var register = function (cb) {
14                 if (waitingCallbacks.length == 0) {
15                     execute(cb);
16                 } else {
17                     waitingCallbacks.push(cb);
18                 }
19             }
20             return {
21                 register: register,
22                 state: 1
23             }
24         })();

原來代碼中是 execute(waitingCallbacks.unshift());現在我改成了 execute(waitingCallbacks.shift());當你從集合中執行了函數後,它應該從集合中刪除,而不是再添加,呵呵。

 


轉載請註明本文地址:Js~數組的操作push,pop,shift,unshift
發佈了0 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章