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

Der*_*rek 3 javascript

嗨我想在javascript中使用队列.所以我想我可以做三件事之一:

  1. javascript推,转移

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

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

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

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

Sak*_*ket 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];                  
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 嗯,这是一种常见的编码实践,可以使用有意义的API(当然,基本数据类型),尤其是提高代码的可读性和解释.此外,如果需要,让您有机会在以后的某个时间更改您的实施,同时不更改呼叫者. (3认同)
  • 对您来说,用方法而不是数组(直接使用`push()`,`shift()`和`[0]`)使对象排队的好处是什么? (2认同)