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());當你從集合中執行了函數后,它應該從集合中刪除,而不是再添加,呵呵。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM