js array queue (队列)

前言

今天项目中做一个图片效果展示,需要实时从后台获取图片数据,前段做展示。想想用到队列,比较好实现这个功能,只需要展示队列里的数据就可以了。于是写了个js 对列.

js code
    /**
     * [Queue]
     * @param {[Int]} size [队列大小]
     */
    function Queue(size) {
        var list = [];

        //向队列中添加数据
        this.push = function(data) {
            if (data==null) {
                return false;
            }
            //如果传递了size参数就设置了队列的大小
            if (size != null && !isNaN(size)) {
                if (list.length == size) {
                    this.pop();
                }
            }
            list.unshift(data);
            return true;
        }

        //从队列中取出数据
        this.pop = function() {
            return list.pop();
        }

        //返回队列的大小
        this.size = function() {
            return list.length;
        }

        //返回队列的内容
        this.quere = function() {
            return list;
        }
    }

如果我们传入 size 参数就会设置 队列的大小,不设置队列无穷大小

测试
不初始化队列大小
    //初始化没有参数的队列
   var queue = new Queue();
    for (var i = 1; i <= 5; i++) {
        queue.push(i);
    }
    
  console.log(queue.quere());
   queue.pop();   //从队列中取出一个
   console.log(queue.quere());
  

结果
588767-20160804200008684-1586843033.png

初始化队列大小
 var queue = new Queue(3);

    for (var i = 1; i <= 5; i++) {
        queue.push(i);
    }
    console.log(queue.quere());
    queue.pop();
    console.log(queue.quere());

结果 : 我们只初始化了3个size , 然而我们push 5 个,会自动 pop 。
588767-20160804195934278-843617433.png

转载于:https://www.cnblogs.com/qiaojie/p/5738225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值