SOURCE

// 队列是一种先进先出的数据结构
// 队尾入列,队尾出列
// 常见的队列操作
// 1, 向对尾添加一个或多个元素 enqueue 
// 2, 从对头移除一个元素 dequeue 
// 3, 查看对头元素 front 
// 4, 判断队列是否为空 isEmpty 
// 5, 返回队列长度 size 
// 6, 清空队列 clear 
// 7, 打印队列所有元素 print 
function Queue (){
    let item = []
    // 1, 向对尾添加一个或多个元素 enqueue 
    this.enqueue = function(element){
        if(Array.isArray(element)){
            item = item.concat(element)
        }else{
            item.push(element)
        } 
    }
    // 2, 从对头移除一个元素 dequeue 
    this.dequeue = function(){
        return item.shift()
    }
    // 3, 查看对头元素 front 
    this.front = function(){
        return item[0]
    }
    // 4, 判断队列是否为空 isEmpty 
    this.isEmpty = function(){
        return item.length === 0
    }
    // 5, 返回队列长度 size 
    this.size = function(){
        return item.length
    }
    // 6, 清空队列 clear 
    this.clear = function(){
        item = []
    }
    // 7, 打印队列所有元素 print
    this.print = function(){
        console.log(item)
    }
}
let queue = new Queue();
console.log(queue.isEmpty()); // true

queue.enqueue('John');
queue.enqueue(['Jack', 'Camila']);
queue.print(); // John,Jack,Camila
console.log(queue.size()); // 3
console.log(queue.isEmpty()); // false
console.log(queue.front()); // John

console.log(queue.dequeue()); // John
queue.print(); // Jack,Camila

queue.clear();
queue.print(); // 
console 命令行工具 X clear

                    
>
console