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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jQuery仿gmail实现fixed布局的方法
May 27 Javascript
巧用jQuery选择器提高写表单效率的方法
Aug 19 Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
微信小程序 底部导航栏目开发资料
Dec 05 Javascript
AngularJS 霸道的过滤器小结
Apr 26 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
原生JS实现小小的音乐播放器
Oct 16 Javascript
在 Node.js 中使用 async 函数的方法
Nov 17 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
Nov 21 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
Vue通过input筛选数据
2020/10/26 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
3种python调用其他脚本的方法
2020/01/06 Python
Python列表操作方法详解
2020/02/09 Python
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
生物科学系大学生的自我评价
2013/12/20 职场文书
护士演讲稿范文
2014/01/05 职场文书
护理专业自荐书
2014/06/04 职场文书
政审证明范文
2015/06/19 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
浅谈Python数学建模之数据导入
2021/06/23 Python
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers