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 相关文章推荐
jqueryUI里拖拽排序示例分析
Feb 26 Javascript
JavaScript中的slice()方法使用详解
Jun 06 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
js编写简单的计时器功能
Jul 15 Javascript
js判断传入时间和当前时间大小实例(超简单)
Jan 11 Javascript
分享5个好用的javascript文件上传插件
Sep 16 Javascript
vuejs简单验证码功能完整示例
Jan 08 Javascript
vue中的mvvm模式讲解
Jan 31 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
通过循环优化 JavaScript 程序
Jun 24 Javascript
js制作提示框插件
Dec 24 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
Jan 07 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 CURL获取邮箱地址的详解
2013/06/03 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
javascript preload&amp;lazy load
2010/05/13 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
js图片处理示例代码
2014/05/12 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
python输出指定月份日历的方法
2015/04/23 Python
python实现二维插值的三维显示
2018/12/17 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
python 实现矩阵填充0的例子
2019/11/29 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
四风问题班子对照检查材料
2014/09/27 职场文书
爱心募捐通知范文
2015/04/27 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
导游词之永泰公主墓
2019/12/04 职场文书