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 相关文章推荐
解密效果
Jun 23 Javascript
jquery插件 cluetip 关键词注释
Jan 12 Javascript
JavaScript设计模式之工厂方法模式介绍
Dec 28 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
Oct 24 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
微信小程序实现折叠面板
Jan 31 Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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
在字符串中把网址改成超级链接
2006/10/09 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
php日期操作技巧小结
2016/06/25 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
菊花转动的jquery加载动画效果
2018/08/19 jQuery
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
初步讲解Python中的元组概念
2015/05/21 Python
详解Python爬虫的基本写法
2016/01/08 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Python中函数参数调用方式分析
2018/08/09 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python中的yield from语法快速学习
2020/11/06 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
党员示范岗材料
2014/12/19 职场文书
建国大业电影观后感
2015/06/01 职场文书
公司人力资源管理制度
2015/08/05 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫