在javascript中实现队列的最佳方法?

时间:2011-09-18 04:09:59

标签: javascript

您好我想在javascript中使用队列。所以我想我可以做三件事中的一件:

  1. javascript push,shift

  2. array.push(),array [0],array.splice(0,1)等。

  3. http://code.stephenmorley.org/javascript/queues/#download

  4. 上的Queue.js

    所以我正在阅读queue.js并对基准测试感到困惑,因为我真的不知道这些数字是什么意思。另外,我猜测有一个比我提到的3更好的队列排队方式。

    那么在javascript中实现队列的最佳方法是什么?为什么?如果有人能够解释我描述的3种方式中的优点和缺点,那将非常有帮助。谢谢!

2 个答案:

答案 0 :(得分:5)

这是一个基本的队列定义,对我来说非常合适。

queue: function() {
    var items;

    this.enqueue = function(item) {
        if (typeof(items) === 'undefined') {
            items = [];   
        }

        items.push(item);                       
    }

    this.dequeue = function() {
        return items.shift();                                                
    }

    this.peek = function(){
        return items[0];                  
    }
}

答案 1 :(得分:1)

Queue.js正在使用类似你的第二个命题,但效率较低,因为它需要不需要的测试,本机方法更好地优化。我肯定会使用Sacket的解决方案。