JS实现队列的先进先出功能示例


Posted in Javascript onMay 10, 2017

本文实例讲述了JS实现队列的先进先出功能。分享给大家供大家参考,具体如下:

/**
 * [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;
  }
}
//初始化没有参数的队列
var queue = new Queue();
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());  //从队列中取出一个
console.log(queue.quere());
var queue = new Queue(3);
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());
console.log(queue.quere());

结果:

[ 5, 4, 3, 2, 1 ]
1
[ 5, 4, 3, 2 ][ 5, 4, 3 ]
3
[ 5, 4 ]

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
May 26 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 Javascript
jQuery插件ajaxFileUpload使用实例解析
Oct 19 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 Javascript
JavaScript 对象创建的3种方法
Nov 17 Javascript
BootStrap的两种模态框方式
May 10 #Javascript
微信小程序之购物车功能
Sep 23 #Javascript
js canvas实现QQ拨打电话特效
May 10 #Javascript
bootstrap弹出层的多种触发方式
May 10 #Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 #Javascript
微信小程序 支付后台java实现实例
May 09 #Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 #Javascript
You might like
一个PHP并发访问实例代码
2012/09/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
Python通过解析网页实现看报程序的方法
2014/08/04 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
python判断链表是否有环的实例代码
2020/01/31 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
python中数字是否为可变类型
2020/07/08 Python
Pycharm中如何关掉python console
2020/10/27 Python
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
工作会议欢迎词
2014/01/16 职场文书
网络管理专业求职信
2014/03/15 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
毕业生个人自荐书
2015/03/05 职场文书
2015年预算员工作总结
2015/05/14 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
采购部2015年度工作总结
2015/07/24 职场文书